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

Как мне настроить аутентификацию с открытым ключом для 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.