Você precisa da sua chave pública SSH e precisará da chave privada ssh. Chaves podem ser geradas com ssh_keygen
.
A chave privada deve ser mantida no servidor 1 e a chave pública deve ser armazenada no servidor 2.
Isso é descrito na manpage do openssh, então vou citar muito disso. Você deve ler a seção 'Autenticação'. Além disso, o manual do openSSH deve ser realmente útil: link
Por favor, tenha cuidado com o ssh porque isso afeta a segurança do seu servidor.
De man ssh
:
~/.ssh/identity
~/.ssh/id_dsa
~/.ssh/id_rsa
Contains the private key for authentication. These files contain
sensitive data and should be readable by the user but not acces-
sible by others (read/write/execute). ssh will simply ignore a
private key file if it is accessible by others. It is possible
to specify a passphrase when generating the key which will be
used to encrypt the sensitive part of this file using 3DES.
~/.ssh/identity.pub
~/.ssh/id_dsa.pub
~/.ssh/id_rsa.pub
Contains the public key for authentication. These files are not
sensitive and can (but need not) be readable by anyone.
Isso significa que você pode armazenar sua chave privada em seu diretório pessoal em .ssh. Outra possibilidade é dizer ao ssh através da opção de parâmetro -i
para usar um arquivo de identidade especial.
Também de man ssh
:
-i identity_file
Selects a file from which the identity (private key) for RSA or
DSA authentication is read. The default is ~/.ssh/identity for
protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
tocol version 2. Identity files may also be specified on a per-
host basis in the configuration file. It is possible to have
multiple -i options (and multiple identities specified in config-
uration files).
Isto é para a chave privada. Agora você precisa introduzir sua chave pública no Servidor 2. Novamente uma citação de man ssh
:
~/.ssh/authorized_keys
Lists the public keys (RSA/DSA) that can be used for logging in
as this user. The format of this file is described in the
sshd(8) manual page. This file is not highly sensitive, but the
recommended permissions are read/write for the user, and not
accessible by others.
A maneira mais fácil de conseguir isso é copiar o arquivo para o Servidor 2 e anexá-lo ao arquivo authorized_keys:
scp -p your_pub_key.pub user@host:
ssh user@host
host$ cat id_dsa.pub >> ~/.ssh/authorized_keys
Autorização via chave pública deve ser permitida para o daemon ssh, veja man ssh_config
. Geralmente isso pode ser feito adicionando a seguinte declaração ao arquivo de configuração:
PubkeyAuthentication yes