Облачная платформаEvolution

Ошибка «Permission denied (publickey)»

Эта статья полезна?

Описание проблемы

Возникает при подключении к виртуальной машине по SSH из-за несоответствия публичного и приватного ключей.

Решение

По умолчанию при использовании команды ssh <login>@<public_IP> проверяется наличие приватного ключа со стандартным именем в директории /home/<username>/.ssh или C:\Users\<username>\.ssh\. Примеры стандартных имен: id_rsa, id_ed25519, id_dsa, id_ecdsa.

Примечание

Рекомендуется давать уникальные имена всем SSH-ключам. При использовании имени по умолчанию можно случайно перезаписать ключ и потерять доступ к виртуальной машине.

Если во время генерации ключевой пары вы указали собственное имя или расположение ключа, он не будет найден при подключении.

Чтобы устранить ошибку:

  1. Убедитесь, что публичный ключ добавлен на ВМ.

    Ключ можно посмотреть в параметрах виртуальной машины на вкладке Настройки авторизации. Если вы не указали ключ при создании ВМ, добавьте его вручную.

  2. При подключении укажите путь к нужному приватному ключу с помощью флага -i:

    ssh -i <path_to_private_key>/<keyname> <login>@<public_IP>

    Где:

    • <path_to_private_key> — расположение файла с приватным ключом.

    • <keyname> — название файла с приватным ключом.

    • <login> — имя пользователя виртуальной машины.

    • <public_IP> — публичный IP-адрес виртуальной машины.