Ключи SSH (Secure Shell) — это криптографические ключи, используемые для безопасного удаленного доступа к серверам и другим сетевым устройствам. Загрузка ключей SSH — обычная задача для системных администраторов и разработчиков. В этой статье блога мы рассмотрим несколько способов загрузки ключей SSH, приведя попутно примеры кода.
Метод 1: загрузка вручную через SSH-клиент
Самый простой способ загрузки ключей SSH — через SSH-клиент. Выполните следующие действия:
- Сгенерируйте пару ключей SSH (открытый и закрытый ключ) с помощью команды
ssh-keygen
. - Скопируйте открытый ключ (
id_rsa.pub
) на удаленный сервер с помощью командыssh-copy-id
.ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server
Эта команда запросит пароль удаленного сервера и скопирует открытый ключ в соответствующее место.
Метод 2: использование команды OpenSSH ssh-copy-id
Команда ssh-copy-id
упрощает процесс загрузки ключей SSH. Однако в некоторых системах эта команда может не быть предварительно установлена. В таких случаях выполните следующие действия:
- Вручную создайте файл
authorized_keys
на удаленном сервере (если он не существует). - Установите правильные разрешения для файла
authorized_keys
:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- Добавьте содержимое локального открытого ключа (
id_rsa.pub
) в файлauthorized_keys
на удаленном сервере:cat ~/.ssh/id_rsa.pub | ssh user@remote_server 'cat >> ~/.ssh/authorized_keys'
Метод 3: использование команды ssh-keyscan
Команда ssh-keyscan
позволяет получить открытый ключ удаленного сервера и добавить его в локальный файл known_hosts
. Выполните следующие действия:
- Запустите команду
ssh-keyscan
, указав имя хоста или IP-адрес удаленного сервера:ssh-keyscan remote_server >> ~/.ssh/known_hosts
- Проверьте отпечаток полученного ключа, чтобы убедиться в его подлинности.
Метод 4: загрузка через конфигурацию SSH
Вы можете загрузить ключи SSH, изменив файл конфигурации SSH (~/.ssh/config
). Добавьте в файл следующие строки:
Host remote_server
IdentityFile ~/.ssh/id_rsa
Метод 5: использование агентов SSH
Агенты SSH хранят закрытые ключи и предоставляют удобный способ управления ими. Выполните следующие действия:
- Запустите агент SSH:
eval "$(ssh-agent -s)"
- Добавьте свой закрытый ключ в агент:
ssh-add ~/.ssh/id_rsa
В этой статье мы рассмотрели несколько способов загрузки ключей SSH. Эти методы обеспечивают гибкость и удобство в зависимости от ваших конкретных требований и среды. Предпочитаете ли вы загрузку вручную, инструменты командной строки, такие как ssh-copy-id
, или использование агентов SSH, теперь у вас есть целый ряд опций, отвечающих вашим потребностям.