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

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

10.08.2008 17:50:11
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команду, которая удаляет все ключи из агента)

101
28.10.2012 15:07:26
Если вам нужно создать папку .ssh, не устанавливайте ее на 600, как я, иначе у вас будет плохое время. Вместо этого установите его на 700. :-)
Ray Hulha 21.02.2014 14:04:17
Могу ли я войти в систему с неизвестного компьютера, используя закрытый ключ, который был создан для известного / настроенного клиента для связи с сервером? Я имею в виду, является ли этот закрытый ключ переносимым и может быть использован для аутентификации себя на сервере с других компьютеров, в случае необходимости?
Rajat Gupta 28.02.2014 08:33:43
@ user01 Да, вы можете скопировать закрытый ключ на несколько систем и получить доступ к другому серверу с соответствующим открытым ключом.
Charlie Gorichanaz 28.02.2014 09:14:39
@Charlie Gorichanaz: Это также наоборот, как я могу сгенерировать пару ключей на сервере и использовать сгенерированный открытый ключ на всех других машинах, которые я хочу подключить к этому серверу?
Rajat Gupta 28.02.2014 09:46:20
Загрузка открытого ключа на удаленный компьютер также может быть ssh-copy-id [-i identity] [user@]hostвыполнена на локальном компьютере.
Jan Blechta 18.05.2014 14:52:15

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

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

5
11.08.2008 02:01:00