Para resumir o que os outros disseram, configurar chaves SSH é fácil e inestimável.
Na máquina em que você será o SSHing de você precisa gerar seu par de chaves:
claudius:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dinomite/.ssh/id_rsa): <ENTER>
Enter passphrase (empty for no passphrase): <PASSPHRASE>
Enter same passphrase again: <PASSPHRASE>
Your identification has been saved in /home/dinomite/.ssh/id_rsa.
Your public key has been saved in /home/dinomite/.ssh/id_rsa.pub.
The key fingerprint is:
a3:93:8c:27:15:67:fa:9f:5d:42:3a:bb:9d:db:93:db dinomite@claudius
Basta pressionar enter onde indicado e inserir uma frase secreta quando solicitado - idealmente, isso é diferente de sua senha de login normal no host atual e no qual você será o SSHing.
Em seguida, você precisa copiar a chave que acabou de gerar para o host que você deseja que seja SSH para . A maioria das distribuições do Linux tem uma ferramenta ssh-copy-id
para fazer isso:
claudius:~$ ssh-copy-id caligula.dinomite.net
Now try logging into the machine, with "ssh 'caligula.dinomite.net'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Se a sua distribuição não tem isso, então você deve copiar a chave para o host de destino e adicioná-la ao arquivo (possivelmente existente) .ssh/authorized_keys
:
claudius:~$ scp .ssh/id_dsa.pub caligula.dinomite.net:
id_dsa.pub 100% 1119 1.1KB/s 00:00
claudius:~$ ssh caligula.dinomite.net
Last login: Sat May 9 10:32:30 2009 from claudius.csh.rit.edu
Caligula:~$ cat id_dsa.pub >> .ssh/authorized_keys
Finalmente, para obter o máximo benefício das chaves SSH, você desejará executar um agente SSH. Se você usar um ambiente de área de trabalho (Gnome, KDE, etc.), basta desconectar e voltar a iniciar um agente SSH para você. Caso contrário, você pode adicionar o seguinte ao seu arquivo shell RC ( .bashrc
, .profile
, etc.):
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
eval '$SSHAGENT $SSHAGENTARGS'
trap "kill $SSH_AGENT_PID" 0
fi