Potrzebujesz klucza publicznego SSH i klucza prywatnego ssh. Klucze można generować za pomocą ssh_keygen
. Klucz prywatny musi być przechowywany na serwerze 1, a klucz publiczny musi być przechowywany na serwerze 2.
Jest to całkowicie opisane na stronie manuala openssh, więc zacytuję go dużo. Powinieneś przeczytać sekcję „Uwierzytelnianie”. Bardzo pomocny powinien być również podręcznik openSSH: http://www.openssh.org/manual.html
Uważaj na ssh, ponieważ wpływa to na bezpieczeństwo twojego serwera.
Od 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.
Oznacza to, że możesz przechowywać swój klucz prywatny w katalogu domowym w .ssh. Inną możliwością jest poinformowanie ssh za pomocą -i
przełącznika parametrów, aby używał specjalnego pliku tożsamości. Również z 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).
To jest dla klucza prywatnego. Teraz musisz wprowadzić swój klucz publiczny na serwerze 2. Ponownie cytat z 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.
Najłatwiejszym sposobem na osiągnięcie tego jest skopiowanie pliku na Serwer 2 i dołączenie go do pliku uprawnione_ klucze:
scp -p your_pub_key.pub user@host:
ssh user@host
host$ cat id_dsa.pub >> ~/.ssh/authorized_keys
Autoryzacja za pomocą klucza publicznego musi być dozwolona dla demona ssh, patrz man ssh_config
. Zwykle można to zrobić, dodając następującą instrukcję do pliku konfiguracyjnego:
PubkeyAuthentication yes
ssh-copy-id user@machine