sshc-cli

Create shortcuts to access your server saved in cloud.

Usage no npm install needed!

<script type="module">
  import sshcCli from 'https://cdn.skypack.dev/sshc-cli';
</script>

README

sshc-cli

SSH Chain - Crie atalhos para conectar a seus servidores SSH.

Todos os dados são criptografados com Amazon KMS.

Instalar

via npm :package:

$ npm install --global sshc-cli

Listar servidores

$ sshc server ls

Servidores cadastrados:
┌────────────────┬──────┬─────────────┬────────────────────────┬────────────────┬───────────────────────────────────┐
│ Alias          │ Name │ Username    │ Host                   │ Key            │ Forward                           │
├────────────────┼──────┼─────────────┼────────────────────────┼────────────────┼───────────────────────────────────┤
│ server1        │ -    │ ubuntu      │ srv1.example.com.br:22 │ default        │ L 0.0.0.0:9922 → 172.37.37.137:22 │
├────────────────┼──────┼─────────────┼────────────────────────┼────────────────┼───────────────────────────────────┤
│ server2        │ -    │ ubuntu      │ srv2.example.com.br:22 │ mykey          │ -                                 │
└────────────────┴──────┴─────────────┴────────────────────────┴────────────────┴───────────────────────────────────┘

Para conectar

$ sshc server1
$ sshc root@10.0.0.1 [--k|-k]

Opções

Usage
    $ sshc <options>			        	Para fazer o login ou efetuar um cadastro
    $ sshc <server alias> 				Conecta a um servidor
    $ sshc user@host [--key|-k]         		Conecta a um servidor não cadastrado usando senha ou chaves cadastradas
    $ sshc key [help|list|import|del|link|unlink]	Cadastra/Deleta/Lista/Associa chaves de acesso
    $ sshc server [help|list|add|del|forward|hopping]	Cadastra/Deleta/Lista servidores
    $ sshc group [help|list|add|del|hopping]		Cadastra/Deleta/Lista grupos de servidores
Options
    --login	 	Para logar no SSHChain
    --rlogin	Para refazer o login da sessão atual
    --register	Fazer um novo cadastro no SSHChain
    --logout 	Limpa o cache local e faz logout

    --phone		Cadastra um numero de celular na conta
    --mfa		Retorna o status da autenticação multifator (MFA)
    --enable-mfa	Ativa a autenticação multifator (MFA)
    --disable-mfa	Desativa a autenticação multifator (MFA)
    
    -k              Alias de uma chave cadastrada,
    --key           Exibe um select com as chaves cadastradas
    
    --clear-cache, --clear	Limpa todo o cache de informações
    --no-cache		Pula/atualiza o cache
Examples
    $ sshc key help
    $ sshc key list
    $ sshc key import -n <nome chave> ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
    $ sshc key link <nome chave> -s <server alias>
    $ sshc key link <nome chave> -g <nome grupo>
    $ sshc key unlink -s <server alias>
    $ sshc key del <nome chave>
    $ sshc key view <nome chave>

    $ sshc server help
    $ sshc server list <criterio de busca> -g <nome grupo>
    $ sshc server add -n <nome server opcional> -a <server alias> -h 127.0.0.1:22 -u <username> [-k|--key] OU [--pass|--password] [-g|--group] -d "Descicao opcional"
    $ sshc server del <server alias>
    $ sshc server forward <server alias> 9922 10.2.34.32:22
    $ sshc server forward <server alias> --delete
    $ sshc server hopping <server alias> <server proxy alias>
    $ sshc server hopping <server alias> --delete

    $ sshc group help
    $ sshc group list
    $ sshc group add -n <nome grupo> -u <username> [-k|--key] OU [--pass|--password]
    $ sshc group link <nome grupo> <server alias>
    $ sshc group unlink <server alias>
    $ sshc group del <nome grupo>
    $ sshc group hopping <nome grupo> <server proxy alias>
    $ sshc group hopping <nome grupo> --delete

Servidores

Usage
    $ sshc <server alias>		Conecta a um servidor
    $ sshc server [ls|list] <criterio de busca> -g <nome grupo>	Lista os servidores cadastrados
    $ sshc server add <options>	Cadastra um novo servidor
    $ sshc server [del|delete]	Exclui um servidor
Options
    -n, --name		Nome de exibição
    -a, --alias		Nome/Alias da chave, permitido apenas os caracteres [a-Z 0-9 - _ .]
    -h, --host		Host do servidor com ou sem a porta
    -p, --port		Porta do servidor
    -u, --username		Nome de usuario do servidor
    --pass, --password	Vai exibir um input para digitar a senha
    -k			Alias da chave para associação,
    --key			Exibe um select com as chaves cadastradas para associação,
    -g			Alias do grupo para associação,
    --group			Exibe um select com os grupos cadastrados para associação,
    -d, --description	Curta descrição
    --no-cache		Pula/atualiza o cache
Examples
    $ sshc server help
    $ sshc server list
    $ sshc server add -n <nome server> -a <server alias> -h 127.0.0.1:22 -u <username> [-k|--key] [-g|--group] -d "Descrição opcional"
    $ sshc server del <server alias>
    $ sshc server forward <server alias> 9922 10.2.34.32:22
    $ sshc server forward <server alias> --delete
    $ sshc server hopping <server alias> <server proxy alias>
    $ sshc server hopping <server alias> --delete

Chaves

Usage
    $ sshc key [ls|list] <criterio de busca> 	Lista as chaves cadastradas
    $ sshc key import 			Importa uma chave a partir do arquivo em disco
    $ sshc key [del|delete]			Exclui uma chave
    $ sshc key [link|unlink]		Associa/Desassocia uma chave a um servidor ou grupo
    $ sshc key [view|show]			Exibe a chave privada, publica e senha descriptografada
Options
    -n, --name	Nome/Alias da chave, permitido apenas os caracteres [a-Z 0-9 - _ .]
    -s		Server alias
    -g		Group alias
    --no-cache	Pula/atualiza o cache
Examples
    $ sshc key import -n <nome chave> ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
    $ sshc key link <nome chave> [-s|-g] <server alias|nome grupo>
    $ sshc key unlink -s <server alias>
    $ sshc key del <nome chave>
    $ sshc key view <nome chave>

Grupos

Os servidores associados a grupo herdam configurações de conexão.

Usage
    $ sshc group [ls|list] <criterio de busca> 	Lista grupos cadastrados
    $ sshc group [del|delete]			Exclui um grupo
    $ sshc group [link|unlink]			Associa/Desassocia um servidor ao grupo
Options
    -n, --name		Nome/Alias do grupo, permitido apenas os caracteres [a-Z 0-9 - _ .]
    -p, --port		Porta do servidor
    -u, --username		Nome de usuario do servidor
    --pass, --password	Vai exibir um input para digitar a senha
    -k			Alias da chave para associação,
    --key			Exibe um select com as chaves cadastradas para associação
    --no-cache		Pula/atualiza o cache
Examples
    $ sshc group add -n <nome grupo> -u <username> [-k|--key] OU [--pass|--password]
    $ sshc group link <nome grupo> <server alias>
    $ sshc group unlink <server alias>
    $ sshc group del <nome grupo>
    $ sshc group hopping <nome grupo> <server proxy alias>
    $ sshc group hopping <nome grupo> --delete