Настройка на linux сервере публичного ключа для входа по ssh без пароля

Чтобы подключаться к серверу по ssh без ввода пароля, вы должны у себя иметь пару открытый и закрытый ключ. А затем сообщить серверу ваш публичный ~/.ssh/id_rsa.pub ключ.  Если пара ключей для вашего пользователя создана, то выполняем следующую команду.

Выполняем команду ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost, где:

  • user – пользователь, под которым вы подключаетесь на удалённую машину;
  • remotehost – ip-адрес удаленной машины.

Эта команда скопирует на удалённый сервер ваш публичный ключ и добавит его в файл ~/.ssh/authorized_keys. При желании файл ~/.ssh/authorized_keys на сервере можно создать вручную и скопировать в него содержимое вашего публичного ключа ~/.ssh/id_rsa.pub.

После этого вы можете проходить авторизацию на сервере по ssh-ключам без ввода пароля:

ssh user@remotehost

Если после ssh-copy-id по-прежнему просит ввести пароль, то нужно проверить права на папке .ssh на сервере. На вашу домашнюю директорию не должны стоять права на запись для остальных пользователей. А на файл authorized_keys должны быть права 600.

Выполните следующие команды:?

123chmod g-w /home/youruserchmod 700 /home/youruser/.sshchmod 600 /home/youruser/.ssh/authorized_keys

После этого вы можете без проблем подключаться по ssh без ввода пароля.

Как сгенерировать ssh-ключи?

SSH ключи хранятся в домашней директории пользователей в скрытом каталоге: ~/.ssh/*

Вы можете легко проверить, имеется ли у вас ключ, просмотрев содержимое каталога ~/.ssh/. Необходимо искать пару файлов с именами «что-нибудь» и «что-нибудь.pub», «что-нибудь» обычно (по умолчанию) называется как id_rsa.

Файл с расширением .pub – это ваш открытый ключ, а второй файл — ваш закрытый ключ. Если у вас нет этих файлов (или даже нет каталога .ssh), вы можете создать их запустив программу ssh-keygen, которая входит в состав пакета SSH в nix-системах.

Для генерации пары ssh-ключей нужно выполнить команду:

ssh-keygen -t rsa?

1234567891ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/vagrant/.ssh/id_rsa.Your public key has been saved in /home/vagrant/.ssh/id_rsa.pub.The key fingerprint is:7a:2f:ea:45:60:a0:a6:df:03:e6:54:c3:f4:a0:5c:b0 vagrant@wi-backend-devThe key's randomart image is:+--[ RSA 2048]----+|  ..=            || . B +           ||  E + +          || o . o .         ||. +     S        || = o   o         ||  o o . o        ||     . o..       ||     .o. ..      |+-----------------+

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

На этом всё, пара ключей (открытый id_rsa.pub и закрытый id_rsa) успешно созданы! Далее может потребоваться сообщить ваш открытый ключ серверу для авторизации без пароля. 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *