Как настроить аутентификацию с открытым ключом для SSH?
Как настроить аутентификацию с открытым ключом?
Ответ 1
Если у вас установлен SSH, вы сможете запустить.
ssh-keygen
Затем выполните шаги, у вас будет два файла: id_rsa
и id_rsa.pub
(первый - это ваш закрытый ключ, второй - ваш открытый ключ - тот, который вы копируете на удаленные компьютеры)
Затем подключитесь к удаленному компьютеру, к которому вы хотите войти, в файл ~/.ssh/authorized_keys
добавьте содержимое вашего файла id_rsa.pub
.
Oh и 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
, которая удаляет все ключи из агента)
Ответ 2
Для окон это является хорошим введением и руководством
Вот некоторые хорошие ssh-агенты для систем, отличных от linux.
- Windows - конкурс
- OS X - SSHKeychain