Авторизация через ssh по публичному ключу — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми можно аутентифицироваться:<br /> | Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми можно аутентифицироваться:<br /> | ||
| − | <code bash># ssh-keygen -t | + | Generating public/private dsa key pair. |
| − | Generating public/private dsa key pair. | + | Enter file in which to save the key (/root/.ssh/id_dsa): |
| − | Enter file in which to save the key (/root/.ssh/ | + | Created directory '/root/.ssh'. |
| − | Created directory '/root/.ssh'. | + | Enter passphrase (empty for no passphrase): |
| − | Enter passphrase (empty for no passphrase): | + | Enter same passphrase again: |
| − | Enter same passphrase again: | + | Your identification has been saved in /root/.ssh/id_dsa. |
| − | Your identification has been saved in /root/.ssh/ | + | Your public key has been saved in /root/.ssh/id_dsa.pub. |
| − | Your public key has been saved in /root/.ssh/ | + | The key fingerprint is: |
| − | The key fingerprint is: | + | bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@</code> |
| − | bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@ | + | или |
| + | <code bash># ssh-keygen -t rsa | ||
| + | Generating public/private dsa key pair. | ||
| + | Enter file in which to save the key (/root/.ssh/id_rsa): | ||
| + | Created directory '/root/.ssh'. | ||
| + | Enter passphrase (empty for no passphrase): | ||
| + | Enter same passphrase again: | ||
| + | Your identification has been saved in /root/.ssh/id_rsa. | ||
| + | Your public key has been saved in /root/.ssh/id_rsa.pub. | ||
| + | The key fingerprint is: | ||
| + | bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@</code> | ||
ssh-keygen создаёт пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).<br /> | ssh-keygen создаёт пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).<br /> | ||
| − | Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на удаленном компьютере. | + | Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на удаленном компьютере.<br /> |
| + | Это позволяет соединяться с удаленным компьютером с помощью SSH-ключей вместо паролей. Если при генерации ключей был использован пароль, каждый раз для при использовании приватного ключа он будет запрашиваться у пользователя.<br /> | ||
| − | |||
До кучи закрываем возможность ввода интерактивного пароля:<br /> | До кучи закрываем возможность ввода интерактивного пароля:<br /> | ||
| − | <code bash># ee /etc/ssh/sshd_config | + | |
| − | PermitRootLogin without-password | + | <code bash># ee /etc/ssh/sshd_config |
| − | ChallengeResponseAuthentication no | + | PermitRootLogin without-password |
| − | IgnoreRhosts yes | + | ChallengeResponseAuthentication no |
| − | IgnoreUserKnownHosts no | + | IgnoreRhosts yes |
| − | StrictModes yes | + | IgnoreUserKnownHosts no |
| − | PubkeyAuthentication yes | + | StrictModes yes |
| − | AuthorizedKeysFile .ssh/authorized_keys | + | PubkeyAuthentication yes |
| − | RSAAuthentication no | + | AuthorizedKeysFile .ssh/authorized_keys |
| − | PermitEmptyPasswords no | + | RSAAuthentication no |
| − | PasswordAuthentication no</code | + | PermitEmptyPasswords no |
| + | PasswordAuthentication no</code> | ||
Текущая версия на 12:50, 19 апреля 2016
Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми можно аутентифицироваться:
Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@
или
# ssh-keygen -t rsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@
ssh-keygen создаёт пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).
Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на удаленном компьютере.
Это позволяет соединяться с удаленным компьютером с помощью SSH-ключей вместо паролей. Если при генерации ключей был использован пароль, каждый раз для при использовании приватного ключа он будет запрашиваться у пользователя.
До кучи закрываем возможность ввода интерактивного пароля:
# ee /etc/ssh/sshd_config
PermitRootLogin without-password
ChallengeResponseAuthentication no
IgnoreRhosts yes
IgnoreUserKnownHosts no
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication no
PermitEmptyPasswords no
PasswordAuthentication no