Atuando sobre o protocolo SSL, o Secure SHell permite logar-se em uma máquina e executar comandos, em uma versão segura do antigo telnet. Este artigo não ensinará a instalar o SSH, mas sim a usar alguns recursos especiais, particularmente o do login por desafio e resposta (que usa uma chave pública e privada). Porém não apenas usar, mas explicar como funciona nos bastidores.
David Verzolla publicou em 29/04/2005 o artigo Utilizando SSH com método de autenticação publickey + ssh-agend + ssh-add, onde descreve a autenticação por chave pública no ssh. Basicamente ele mostra os passos para criar e instalar o par de chaves e, ao final, cita o uso do aplicativo ssh-agent para não precisar digitar a frase de passagem. Eu usei com sucesso durante anos o ssh-agent. Só não recomendo ele porque os chaveiros das interfaces gráficas (Gnome, principalmente) o substitui com vantagens.
Oskar Costa em 17/05/2005 escreveu sobre o ssh em si, citando alguns arquivos de configuração e sua utilidade. O arquivo recebeu o nome de SSH - Uma breve abordagem.
Como o SSH é baseado em SSL, que por sua vez é baseado em algoritmos de criptografia, alguns artigos de minha autoria entram neste assunto, faltando, inclusive um outro artigo especificamente sobre algoritmos assimétricos. O artigo Introdução a criptografia aborda conceitos, enquanto o Criptografia chave simétrica de bloco e de fluxo aborda apenas os simétricos, que são usados no SSH, pois o protocolo SSL usa vários tipos de algoritmos.
Nos artigos já citados existem outras referências que podem ser seguidas para os mais curiosos.
[8] Comentário enviado por rafaelalmeida em 02/09/2009 - 10:35h
Muito bom artigo!
Só uma dúvida, após logar com a minha frase, estarei no home ou com os privilégios de qual usuário? O usuário que eu estava logado quando criei a chave?
[9] Comentário enviado por ikichl em 23/09/2009 - 09:22h
Bom dia
estou com um grande problema aqui tenho um sistema em php que faz conexoes
automaticas atravez e chave de seguranca, instalada na maquina remota, porem cada
nova conexao ele pede a confirmacao antes e conectar a primeira vez:
Are you sure you want to continue connecting (yes/no)?
ja tentei diversos meio para auto aceitar a conexao, mas sempre sem sucesso
echo -e "yes" | ssh root@200.175.121.18
[12] Comentário enviado por elgio em 01/01/2010 - 20:38h
Henrique:
SIM, pode ser usado ssh-copy-id sim.
Mas observe que o ssh-copy-id não passa de um script SHELL :-O
E bem pequeno, alias. Bem simples de entender. Tirando a parte de testes se o usuário passou o que precisava e se a chave existe, etc, etc, a cópia é simplesmente isto:
[14] Comentário enviado por aline.abreu em 15/10/2010 - 14:38h
Elgio,
Gostei muito do seu artigo!
Só me confirma uma coisa: Pra cada máquina que eu usar, terei que ter um par de chaves ou posso usar a mesma para várias máquinas que eu uso?
[15] Comentário enviado por VagnerFonseca em 22/10/2010 - 10:50h
Aline,
Respondendo sua pergunta, você pode usar sim a mesma chave pública para logar em várias máquinas diferentes, assim basta que o usuário que você estiver utilizando naquele momento esteja com a chave privada no seu diretório .ssh.
[17] Comentário enviado por Thiago Andreotti em 26/12/2011 - 13:48h
O site Preciso Disso está contratando um web developer senior (back end) com forte conhecimento em PHP em cake e outros frameworks. Além de participar do desenvolvimento da versão 2.0 do site (em andamento) o desenvolvedor terá que criar aplicativos de busca, vídeos e notícias para redes sociais.O candidato deve ter perfil empreendedor e vontade de crescer e se tornar sócio de uma empresa startup.
Salário de R$ 4-5 mil + VR + VT + participação nos lucros + ações da empresa a partir do segundo ano.
Envie o seu CV para thiago@precisodisso.com.br
Para trabalhar na região de Moema em São Paulo
[21] Comentário enviado por marcelo_v em 09/02/2012 - 12:22h
Artigo perfeito, sempre as pessoas entendem melhor com alguns exemplos do cotidiano, para dps citar um exemplo pratico da apresentacao do assunto, e foi realmente isso q vc fez. Esta' de parabe'ns, continue assim!