Использование команд ssh-copy-id и ssh-keygen в Linux

Secure Shell (SSH) – это важнейший инструмент для безопасного подключения к удаленным системам. Для повышения безопасности и облегчения доступа аутентификация по ключу SSH часто предпочтительнее аутентификации по паролю. Две важные команды в этом процессе – ssh-keygen и ssh-copy-id.

Генерация ключей SSH с помощью ssh-keygen

Команда ssh-keygen используется для генерации пар ключей SSH. Чтобы создать новую пару ключей, выполните следующую команду в среде Linux:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • t rsa: Указывает алгоритм RSA.
  • b 4096: Генерирует ключ с 4096-битным шифрованием.
  • C “your_email@example.com”: Добавляет комментарий для идентификации.

После выполнения команды вам будет предложено указать файл для сохранения ключа (по умолчанию: ~/.ssh/id_rsa) и дополнительную ключевую фразу для дополнительной безопасности.

Копирование открытого ключа на удаленный сервер с помощью ssh-copy-id

После того как пара ключей сгенерирована, необходимо передать открытый ключ на удаленный сервер. Команда ssh-copy-id упрощает этот процесс:

ssh-copy-id user@remote-server
  • user: Ваше имя пользователя на удаленном сервере.
  • remote-server: Имя хоста или IP-адрес сервера.

Эта команда добавляет ваш открытый ключ (id_rsa.pub) в файл ~/.ssh/authorized_keys на удаленной машине, обеспечивая аутентификацию без пароля.

Проверка аутентификации с помощью ключа SSH

Чтобы проверить, работает ли аутентификация на основе ключей, попробуйте подключиться к удаленному серверу:

ssh user@remote-server

Если все настроено правильно, вы должны войти в систему без ввода пароля.

Заключение

Использование ssh-keygen и ssh-copy-id повышает безопасность и удобство при управлении удаленными серверами. Настроив аутентификацию с помощью ключей SSH, администраторы могут устранить риски, связанные с входом в систему на основе пароля, и упростить безопасный доступ.