Аутентификация с использованием открытого ключа упрощает доступ к SSH-серверу, избавляя от необходимости вводить пароли. Чтобы настроить ее, необходимо добавить свой открытый ключ SSH в файл authorized_keys сервера, расположенный в каталоге ~/.ssh/ пользователя.
Когда открытый ключ создан, вы можете использовать вход в систему SSH без пароля и даже автоматизировать задачи, например удаленное выполнение команд через скрипты, если ваша пара ключей не требует парольной фразы.
У вас есть два варианта копирования открытого ключа: вручную или с помощью инструмента ssh-copy-id. Также есть SSH-трик для облегчения этого процесса.
Шаги по копированию открытого ключа SSH на удаленный сервер с помощью ssh-copy-id
Откройте терминал.
Найдите свой открытый SSH-ключ.
1 | ls -l ~/.ssh/id* |
Открытый ключ обычно имеет расширение .pub.
Убедитесь, что ваш открытый ключ имеет формат OpenSSH.
1 | file .ssh/id_rsa.pub |
Используйте команду ssh-copy-id, чтобы добавить свой открытый ключ SSH в файл authorized_keys пользователя удаленного сервера.
1 | ssh-copy-id user@remote-host |
Если вы хотите использовать другой открытый ключ, а не тот, что находится в месте по умолчанию, используйте параметр -i.
1 | ssh-copy-id -i ~/.ssh/other_key.pub user@remote-host |
Проверьте свой вход в систему с помощью ключа.
Альтернативные методы
Вручную добавьте свой открытый ключ в файл authorized_keys удаленного SSH-сервера. Например, скопируйте содержимое вашего файла ~/.ssh/id_rsa.pub в файл ~/.ssh/authorized_keys сервера.
Используя следующую комбинацию команд
1 | cat ~/.ssh/id_rsa.pub | ssh user@remote-host 'cat >> ~/.ssh/authorized_keys' |