Раздел вопрос-ответ Как настроить доступ по ssh используя id_rsa ключи

Как настроить доступ к серверу по ssh  на базе секретных ключей? Чтобы можно было подключаться по ssh без ввода пароля.

 

share

1 ответ

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

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

Если пара ключей для вашего пользователя еще не создана, то нужно прочитать как сгенерировать ключи. Иначе, если ключи созданы, сразу выполняем команду ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost

где:

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

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

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

ssh user@remotehost

ssh-keys

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

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

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

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

Может быть полезно:

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться
    НОВЫЕ ПОЛЬЗОВАТЕЛИ