null

Ошибка SSH Permission denied (publickey,password)

Предположим Вы получили пару ключей для подключения на проекте (вот тут важно что не новые, а уже существующие) добавили к себе и при подключении получили ошибку: SSH Permission denied (publickey,password).

Есть несколько причин начиная от технических заканчивая прокладкой (увы но в этот раз прокладка подвела и это 3 пункт):

1. Проверка и устранение несоответствия ключей. (не применим если нет доступа к серверу)

Так как ключи ранее уже использовались, то сделаем простую проверку, необходимо убедиться что вы используете правильные закрытый и открытый ключ, сгенерируйте хэш обоих. Для каждого ключа на сервере и клиентской машине выполните следующую команду:

ssh-keygen -lf [/path/to/key]

Сравните отпечатки клиента и сервера. Если отпечатки совпадают в точности, то ключи SSH идентичны, что указывает на то, что ключ клиентской машины совпадает с соответствующим ключом сервера. Переходим к следующему решению, так как несовпадение ключей не является проблемой для данной ошибки.

2. Проверка и настройка разрешений ключей.

Настройка разрешений ключей.

Закрытый ключ должен храниться на клиентской машине, и только владелец должен иметь права на чтение и запись . Выполните следующие действия, чтобы установить правильные разрешения:

  • Переходим в каталог SSH:

cd ~/.ssh/

  • Установите разрешения на чтение и запись :

chmod 600 id_rsa

Заменяем id_rsa на имя файла вашего закрытого ключа.


Разрешения для файлов authorized_keys

Файл authorized_keys хранит открытый ключ, ранее авторизованный для аутентификации. Он находится в каталоге .ssh на сервере. Чтобы предотвратить несанкционированный доступ на запись, установите разрешения 600 (-rw-------).

Выполняем следующие шаги:

  • Перейдите в каталог SSH:

cd ~/.ssh/

  • Установите права доступа к файлу с помощью:

chmod 600 authorized_keys


Права доступа к каталогу .ssh

Установим разрешения для каталога .ssh , переходим в каталог на клиентской и серверной машинах. Ограничьте доступ только владельцу с помощью:

chmod 700 ~/.ssh

 

Резумируем требуемый/рекомендуемый список прав доступа для файлов:

каталог ~/.ssh: 0700 (drwx------)
файл ~/.ssh/authorized_keys: 0600 (-rw-------)
файл ~/.ssh/config: 0600 (-rw-------)
файл ~/.ssh/id_rsa (или другие закрытые ключи): 0600 (-rw-------)

 

3. Проверка и настройка параметров конфигурации сервера

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

 

ssh user@server получаем ошибку SSH Permission denied (publickey,password)

ssh -i ~/.ssh/id_rsa_key user@server Подключение выполнено

nano ~/.ssh/config   В данном случае переходим ~/.ssh/config и проверяем как прописано подключение для данного сервера (nano ~/.ssh/config)

и видим подобное:

Host name
  HostName 192.168.0.1
  User root

а подключаетесь так же как и я ssh root@192.168.0.1 поздравляю шарик ты .... (по сути тут ошибка что вместо ввода команды ssh user@host вводим команду ssh user@hostname) необходимо ввести команду ssh root@name

 

 

 

Коротко о себе:

 

 

Работаю в компании Tune IT. Занимаюсь какими-то проектами, связанными с чем-то.

Ничего не найдено. n is 0