Eu diria que a solução mais segura para isso é gerar uma chave SSH sem senha para cada máquina e adicioná-la à lista authorized_keys do outro.
Na máquina 1 (como o usuário que está se conectando ao outro servidor):
$ ssh-keygen -t rsa
$ ssh-add ~/.ssh/id_rsa
$ cat .ssh/id_rsa.pub
Se o keygen pedir uma senha, basta pressionar Enter para criar uma chave sem senha.
Na máquina 2:
- Crie ou edite
~/.ssh/authorized_keys
para o usuário com o qual você está efetuando login. - Adicione o conteúdo de
id_rsa.pub
(verifique se é o arquivo .pub , não a chave privada) no arquivo. Todos osid_rsa.pub
devem caber em uma única linha.
Quando isso for feito, você poderá fazer isso a partir da máquina 1:
$ ssh username@machine-2
e basta estar logado sem digitar sua senha. O mesmo vale para scp / sftp.
Se isso não funcionar, verifique se você tem PubkeyAuthentication yes
no seu /etc/ssh/sshd_config