Я создал ключ для соединения в SSH с парольной фразой. Я назвал свой ключ id_rsa_admin. Когда я вхожу, отображается следующее сообщениеPermission denied (publickey).
В журналах я обнаружил, что ssh ищет файл id_rsaи, следовательно, не находит нужный файл.
Я считаю, что если ключ не назван, id_rsaон не работает.
Ответ Арроникаля хорош для одноразовой связи, но в долгосрочной перспективе будет болезненным. Чтобы sshвсегда использовать этот ключ при подключении к этому серверу, вы можете добавить его на свой ~/.ssh/config(или создать, если он не существует):
Тогда вы можете связаться с просто ssh admin@vps718449.ovh.net -p 9215. В качестве дополнительного бонуса вы также можете настроить порт:
Host vps718449.ovh.net
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Тогда вы можете связаться с просто ssh admin@vps718449.ovh.net. Еще больше:
Host vps718449.ovh.net vps
Hostname vps718449.ovh.net
User admin
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Тогда просто ssh vpsбудет работать! Конечно, vpsэто просто пример, вы можете использовать любой другой псевдоним, который вы хотите (например, если у вас более одного VPS). Смотрите man ssh_configсписок опций, которые вы можете установить там.
@ Матье Почему три ключа? Если это для трех разных хостов, просто добавьте одну запись для каждого хоста, каждый с соответствующим ключом.
fkraiem
@fkraiem У меня 3 разных ключа на одном сервере, но для 3 пользователей
Матье
@Mathieu Я не могу подтвердить это прямо сейчас, но я думаю, что просто добавление трех IdentityFileстрок в Hostразделе должно работать. Кроме того, если вы введете Userстроку, этот пользователь станет пользователем по умолчанию при подключении к этому хосту, но вы все равно можете переопределить его @.
fkraiem
@fkraiem Спасибо большое. Это работает, но отображается следующая ошибка: «Агент признал невозможность подписи с помощью ключа». Я использую «SSH_AUTH_SOCK = 0» для подключения, но это нужно делать при каждом перезапуске. Есть ли еще приветствие?
Матье
16
Вам необходимо использовать -iопцию для вашей команды ssh, указав путь к вашему ключу. Измененная команда будет:
IdentityFile
строк вHost
разделе должно работать. Кроме того, если вы введетеUser
строку, этот пользователь станет пользователем по умолчанию при подключении к этому хосту, но вы все равно можете переопределить его@
.Вам необходимо использовать
-i
опцию для вашей команды ssh, указав путь к вашему ключу. Измененная команда будет:источник
-i
до имени хоста тоже работает; Я думаю, что Матье просто забыл дефис. : p