ГлавнаяОперационные системыLinuxКак сгенерировать публичный/частный SSH-ключ в Linux

Как сгенерировать публичный/частный SSH-ключ в Linux

Если вы часто используете SSH для подключения к удаленному хосту, один из способов защитите свой SSH-сервер — использовать открытый/частный ключ SSH, чтобы пароль не передавался по сети. Это также может предотвратить атаку методом грубой силы.

В Linux создать открытый/закрытый ключ SSH очень просто.

  1. Откройте терминал. Тип:
ssh-keygen -t rsa

В качестве альтернативы вы также можете использовать технологию DSA (алгоритм цифровой подписи) для создания открытого/закрытого ключа.

ssh-keygen -t dsa

Примечание : по поводу безопасности DSA и RSA ведется много споров. На мой взгляд, если вы не очень разборчивы и не любите вникать в технические детали между двумя технологиями, не имеет значения, какую из двух вы выберете. Оба будут работать нормально.

  1. На следующем экране вы должны увидеть подсказку с запросом места для сохранения ключа. Местоположением по умолчанию является папка.ssh в вашем домашнем каталоге. Нажмите Enter, чтобы принять настройки по умолчанию.
Создать ключ Ssh Linux 01 Создать новый ключ
  1. Вам будет предложено ввести парольную фразу – НЕ парольную фразу для подключения к удаленному хосту, а парольную фразу для разблокировки закрытого ключа, чтобы никто не мог получить доступ к вашему удаленному серверу, даже если он получит ваш личный ключ. Парольная фраза не является обязательной. Чтобы оставить это поле пустым, просто нажмите Enter.
Создать Ssh-ключ Linux 02 Добавить новую парольную фразу
  1. Теперь ваш публичный и закрытый SSH-ключ должен быть сгенерирован. Откройте файловый менеджер и перейдите в каталог.ssh. Вы должны увидеть два файла: id_rsa и id_rsa.pub.
Создать ключ Ssh Linux 03. Список файлов папки Ssh.
  1. Отправьте новый открытый ключ SSH на удаленный хост, выполнив следующую команду:
ssh-copy-id username@remote-host-ip-address
Создать Ssh-ключ Linux 04. Копировать ключ на удаленный хост.
  1. Войдите на свой удаленный хост и отредактируйте файл конфигурации SSH:
ssh username@remote-host-ip-address
sudo nano /etc/ssh/sshd_config

Прокрутите файл конфигурации вниз и убедитесь, что следующие атрибуты установлены правильно:

RSAAuthentication yes
PubkeyAuthentication yes 
PasswordAuthentication no

Нажмите Ctrl+ O, чтобы записать и сохранить файл, затем Ctrl+ X, чтобы закрыть файл..

Создание ключа Ssh Linux 05 Изменение демона Ssh удаленного хоста
  1. Перезапустите SSH-сервер на удаленном хосте:
sudo systemctl restart ssh

Вот и все. Теперь вы можете подключиться к удаленному хосту с помощью следующей команды:

ssh username@remote-host-ip-address
Создать ключ Ssh Linux 06 Бесшовный вход по Ssh на удаленный хост

Часто задаваемые вопросы

Я скопировал свой SSH-ключ на удаленный сервер и получаю сообщение об ошибке «Отказано в доступе».

Эта проблема, скорее всего, связана с проблемой в папке «.ssh» вашего удаленного хоста. По умолчанию демон SSH отклоняет любые входящие соединения, если его папка конфигурации и файл «authorized_keys» не имеют нужных битов разрешений.

Для изменить права доступа к файлам и папкам откройте локальную консоль вашего удаленного компьютера, затем перейдите в свой каталог «/home» и запустите: chmod 700 /home/$USER/.ssh && chmod 600 /home/$USER/.ssh/authorized_keys. Наконец, перезапустите демон, чтобы применить новые настройки: sudo systemctl restart ssh.

Можно ли создать несколько ключей SSH для одного и того же удаленного сервера?

Да! Однако вам необходимо убедиться, что каждый ключ SSH на вашем компьютере имеет уникальное имя файла, запустив: ssh-keygen -f /home/$USER/.ssh/filename.

Кроме того, убедитесь, что вы указали ключ, который хотите использовать для входа на удаленный хост, выполнив: ssh -i /home/$USER/.ssh/filename [email protected].

<раздел class="sc_fs_faq sc_card ">

Можно ли импортировать новый SSH-ключ на удаленный хост со старым рабочим ключом?

Да! Сначала импортируйте новый ключ в агент аутентификации SSH: ssh-add. Затем войдите на свой старый компьютер и импортируйте его ключ в тот же агент а

Contents

Часто задаваемые вопросы

achine.ip.address && ssh-add -c.

Наконец, покиньте старую машину, нажав Ctrl+ D, и подключитесь к удаленному хосту, используя как новый, так и старый ключ.

Изображение предоставлено: Unsplash . Все изменения и скриншоты Рамсеса Реда.

Можно ли создать несколько ключей SSH для одного и того же удаленного сервера?

Можно ли импортировать новый SSH-ключ на удаленный хост со старым рабочим ключом?

ПОХОЖИЕ СТАТЬИ

Популярные записи