SSH/SCP sem senha -- Passwordless
July 31st, 2009 | by Gustavo Lichti |SSH sem senha
Muitas vezes precisamos automatizar um tarefa e essa tarefa envolve o acesso remoto via ssh ou a cópia de um arquivo via scp. Para isso precisamos de um acesso via ssh sem senha, e uma conta sem senha seria uma falta de segurança enorme. Então para isso podemos gerar um certificado e fazer uma relação de confiança. Este certificado é baseado em chave publica e chave privada. Onde a chave privada é pessoal e intransferível e a publica você pode distribuir.

Vamos trabalhar em cima do cenário abaixo, onde temos dois servidores e uma estação. E o problema é que a estação, que na imagem é chamada de cliente, tem a necessidade de fazer conexões com os servidores via ssh, mas sem a utilização de senhas.
Tendo como base a situação descrita logo a cima vamos a solução.
Na maquina cliente siga faça:
mkdir ~/.ssh cd ~/.ssh
Muitas vezes o diretório .ssh no home do usuário já existe, mas não tem problema. O importante é estar dentro deste diretório. Em seguida vamos criar o certificado com o comando ssh-keygen, ele ira solicitar para que você digite o nome do arquivo do certificado e em seguida vai solicitar que você digite uma passphase, uma frase de autenticação para o certificado. Nesta hora você não vai digitar nada, senão a frase será solicitada na hora da conexão e aí não vai adiantar nada. Então apenas de enter nas duas vezes que ele te solicitar esta informação. Então faça:
(Eu de acordo com a imagem escolhi para nome do arquivo meu sobrenome, lichti)
ssh-keygen
Pronto esse processo ira gera dois arquivos com o nome escolhido, no meu caso:
lichti e lichti.pub. O arquivo lichti é o que você deve guardar para utilizar para se identificar sempre que for necessário, e o arquivo lichti.pub é o arquivo que enviaremos aos servidores que vamos ter acesso.
Vamos ao proximo e último passo, enviar as chaves aos servidores. Faça:
ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.10 ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.11
Pronto, agora já podemos utilizar o ssh para se conectar aos servidores sem a utilização de senha, veja:
ssh usuario@10.0.0.10 -i ~/.ssh/lichti ssh usuario@10.0.0.11 -i ~/.ssh/lichti
ou
scp /etc/fstab usuario@10.0.0.10 -i ~/.ssh/lichti scp /etc/fstab usuario@10.0.0.11 -i ~/.ssh/lichti
Tags: Debian, Linux, password, Shell, Shell Script, ssh, Tutorial, ubuntu





2 Responses to “SSH/SCP sem senha -- Passwordless”
By Phoenix on Jul 31, 2009 | Reply
Mais uma dica muito interessante.
Uso o ssh e scp com muita frequência. Irei aplicar com certeza.
Valeu!
[]s
By Juliano on Aug 26, 2009 | Reply
Uma chave privada desprotegida (sem a "passphrase") é tão perigosa quanto uma conta sem senha. Melhor seria deixar a chave protegida, e utilizar ssh-add/ssh-agent para carregar e manter a chave em memória (para carregar a chave na memória, o administrador precisa estar presente para digitar a "passphrase" e autorizar o ssh-agent a utilizar a chave para conexões (via ssh-add)).