Hai bisogno della tua chiave pubblica SSH e avrai bisogno della tua chiave privata ssh. Le chiavi possono essere generate con ssh_keygen
. La chiave privata deve essere mantenuta sul Server 1 e la chiave pubblica deve essere memorizzata sul Server 2.
Questo è completamente descritto nella manpage di openssh, quindi ne citerò molto. Si consiglia di leggere la sezione "Autenticazione". Anche il manuale openSSH dovrebbe essere davvero utile: http://www.openssh.org/manual.html
Prestare attenzione a ssh perché ciò influisce sulla sicurezza del server.
Da 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.
Questo significa che puoi archiviare la tua chiave privata nella tua home directory in .ssh. Un'altra possibilità è dire a ssh tramite il -i
parametro switch di utilizzare un file di identità speciale. Anche da 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).
Questo è per la chiave privata. Ora devi inserire la tua chiave pubblica sul Server 2. Ancora una citazione da 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.
Il modo più semplice per ottenere quello è copiare il file sul Server 2 e aggiungerlo al file authorized_keys:
scp -p your_pub_key.pub user@host:
ssh user@host
host$ cat id_dsa.pub >> ~/.ssh/authorized_keys
L'autorizzazione tramite chiave pubblica deve essere consentita per il demone ssh, vedere man ssh_config
. Di solito questo può essere fatto aggiungendo la seguente istruzione al file di configurazione:
PubkeyAuthentication yes
ssh-copy-id user@machine