Как настроить аутентификацию с открытым ключом?

Как настроить аутентификацию с открытым ключом для SSH?

2 ответа

Решение

Если у вас установлен SSH, вы сможете запустить..

ssh-keygen

Затем выполните шаги, у вас будет два файла, id_rsa а также id_rsa.pub (первый - ваш закрытый ключ, второй - ваш открытый ключ, который вы копируете на удаленные компьютеры)

Затем подключитесь к удаленному компьютеру, к которому хотите войти, к файлу. ~/.ssh/authorized_keys добавить содержимое вашего, что id_rsa.pub файл.

Ах, и chmod 600 все id_rsa* файлы (как локальные, так и удаленные), поэтому другие пользователи не могут их читать:

chmod 600 ~/.ssh/id_rsa*

Точно так же, убедитесь, что пульт ~/.ssh/authorized_keys файл chmod 600 также:

chmod 600 ~/.ssh/authorized_keys

Затем, когда вы делаете ssh remote.machine, он должен попросить вас ввести пароль ключа, а не удаленного компьютера.


Чтобы сделать его лучше, вы можете использовать ssh-agent хранить дешифрованные ключи в памяти - это означает, что вам не нужно каждый раз вводить пароль вашей пары ключей. Чтобы запустить агент, вы запускаете (в том числе кавычки обратного тика, которые оценивают вывод ssh-agent команда)

`ssh-agent`

На некоторых дистрибутивах ssh-agent запускается автоматически. Если вы бежите echo $SSH_AUTH_SOCK и он показывает путь (вероятно, в /tmp/), который уже настроен, так что вы можете пропустить предыдущую команду.

Затем, чтобы добавить свой ключ, вы делаете

ssh-add ~/.ssh/id_rsa

и введите свой пароль. Он хранится до тех пор, пока вы его не удалите (используя ssh-add -D команда, которая удаляет все ключи из агента)

Для Windows это хорошее введение и руководство

Вот несколько хороших ssh-агентов для систем, отличных от linux.

Другие вопросы по тегам