if ($answer_counter == 1): ?>
endif; ?>
По умолчанию ssh ищет файлы id_dsa
и id_rsa
. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey
или даже поместить его в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно указать ключ в команде ssh следующим образом:
ssh [email protected] -i /path/to/mykey
Если команда не принимает -i
, например. sshfs
, используйте параметр IdentityFile
:
sshfs -o IdentityFile=/path/to/mykey [email protected]:/path/on/remote /mountpoint
Как это работает
При генерации ключа вы получите два файла: id_rsa
(закрытый ключ) и id_rsa.pub
(открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server
открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, разрешено ли вам подключение (определено в /etc/ssh/sshd_config
), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys
. Возможные причины отказа публичного ключа:
-
%код%:
-
/etc/ssh/sshd_config
или AllowUsers
, но ваш пользователь сервера не указан в списке групп или пользователей (по умолчанию не определено, не запрещает пользователям или группам регистрироваться).
-
AllowGroups
или DenyUsers
указано, и вы находитесь в списке пользователей или групп.
- Вы пытаетесь войти в систему как пользователь root, но для
DenyGroups
установлено значение PermitRootLogin
(по умолчанию No
).
-
yes
установлено на PubkeyAuthentication
(по умолчанию No
).
-
yes
устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию AuthorizedKeysFile
относительно исходного каталога)
-
.ssh/authorized_keys
: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читается как пользователь root)
Использование нескольких клавиш
Нередко используется несколько ключей. Вместо использования ~/.ssh/authorized_keys
вы можете использовать файл конфигурации ssh [email protected] -i /path/to/identity_file
.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ~/.ssh/config
:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите ssh [email protected]
, настройки будут применяться ко всем подключениям SSH. Для этого совпадения хостов могут быть указаны другие параметры, такие как Host yourhost
, User youruser
и т. Д. Это позволит вам соединиться со стенографией Port 2222
вместо ssh yourhost
.