Примером способа использования метода аутентификации с открытым ключом является следующий. Предположим, у вас есть серверы A (сервер; тот, к которому вы хотите подключиться ) и B (клиент; тот, с которого вы хотите подключиться к A с помощью открытого ключа).
На A выполните следующую команду:
ssh-keygen
- Это сгенерирует пару закрытый-открытый ключ, если запустить без аргументов, это будет сделано в
~/.ssh
.
- Это сгенерирует пару закрытый-открытый ключ, если запустить без аргументов, это будет сделано в
На A запустите:
ssh-copy-id [user@]<Bs-IP-address>
Это позволит скопировать публичный ключ, генерируемый к B . Это будет сделано в файле с именем .
~/.ssh/authorized_keys
Если это не работает из-за проблем с подключением или вы просто не можете подключиться из точки A в B, есть альтернативный (ручной) способ сделать это. На вашем компьютере A перейдите в
~/.ssh
каталог и найдите файл с открытым ключом. Вероятно, это будет файл с.pub
расширением. Откройте его и скопируйте содержимое, и в B добавьте / вставьте его в свой~/.ssh/authorized_keys
файл. Очень важно : этот файл должен принадлежать пользователю, группа должна быть пользователем и иметь права доступа600
. Иначе это не сработает . Это в значительной степени то, чтоssh-copy-id
делает.
Из B, попробуйте подключиться по SSH к .
Несколько вещей, на которые стоит обратить внимание:
- Команда в пункте 2 развернет открытый ключ только для удаленного пользователя, к которому вы подключаетесь. Это означает, что если вы развернете ключ в доме
tom
пользователя, имя пользователя которогоjerry
не сможет его использовать. Короче говоря, развертывание для каждого пользователя. - Если вы пытаетесь развернуть ключ для подключения к с, убедитесь, что директива в имеет либо значение или (предпочтительно). Если установлено
root
PermitRootLogin
/etc/ssh/sshd_config
yes
prohibit-password
no
, публичный метод аутентификации не будет работать. - Никогда не передавайте закрытый ключ никому.