Авторизация через ssh по публичному ключу — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми можно аутентифицироваться:<br />
 
Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми можно аутентифицироваться:<br />
−
<code bash># ssh-keygen -t dsa<br />
+
Generating public/private dsa key pair.
−
Generating public/private dsa key pair.<br />
+
Enter file in which to save the key (/root/.ssh/id_dsa):
−
Enter file in which to save the key (/root/.ssh/id_dsa):<br />
+
Created directory '/root/.ssh'.
−
Created directory '/root/.ssh'.<br />
+
Enter passphrase (empty for no passphrase):
−
Enter passphrase (empty for no passphrase):<br />
+
Enter same passphrase again:
−
Enter same passphrase again:<br />
+
Your identification has been saved in /root/.ssh/id_dsa.
−
Your identification has been saved in /root/.ssh/id_dsa.<br />
+
Your public key has been saved in /root/.ssh/id_dsa.pub.
−
Your public key has been saved in /root/.ssh/id_dsa.pub.<br />
+
The key fingerprint is:
−
The key fingerprint is:<br />
+
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@<br /></code>
+
или
−
 
+
<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 />
  
−
Это позволяет соединяться с удаленным компьютером с помощью SSH-ключей вместо паролей. Если при генерации ключей был использован пароль, каждый раз для при использовании приватного ключа он будет запрашиваться у пользователя.<br />
 
 
До кучи закрываем возможность ввода интерактивного пароля:<br />
 
До кучи закрываем возможность ввода интерактивного пароля:<br />
  
−
<code bash># ee /etc/ssh/sshd_config<br />
+
<code bash># ee /etc/ssh/sshd_config
−
PermitRootLogin without-password<br />
+
PermitRootLogin without-password
−
ChallengeResponseAuthentication no<br />
+
ChallengeResponseAuthentication no
−
IgnoreRhosts yes<br />
+
IgnoreRhosts yes
−
IgnoreUserKnownHosts no<br />
+
IgnoreUserKnownHosts no
−
StrictModes yes<br />
+
StrictModes yes
−
PubkeyAuthentication yes<br />
+
PubkeyAuthentication yes
−
AuthorizedKeysFile      .ssh/authorized_keys<br />
+
AuthorizedKeysFile      .ssh/authorized_keys
−
RSAAuthentication no<br />
+
RSAAuthentication no
−
PermitEmptyPasswords no<br />
+
PermitEmptyPasswords no
−
PasswordAuthentication no</code><br />
+
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