如果密钥不是名为 id_rsa,则不起作用

如果密钥不是名为 id_rsa,则不起作用

我创建了一个密钥,用于使用密码进行 SSH 连接。我已将密钥命名为id_rsa_admin。当我登录时,会显示以下消息Permission denied (publickey).

在日志中,我发现 ssh 正在寻找一个文件id_rsa,因此找不到正确的文件。

我发现如果密钥没有命名id_rsa它就不起作用。

如何通过 ssh 连接?

~/.ssh/id_rsa_admin

ssh [email protected] -p 9215

答案1

Arronical 的回答对于一次性连接来说很好,但从长远来看会很痛苦。为了ssh在连接到此服务器时始终使用此密钥,您可以将其添加到您的~/.ssh/config(如果不存在则创建它):

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

然后你只需连接即可。作为附加奖励,你还可以配置端口:ssh [email protected] -p 9215

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

然后你只需连接即可。甚至更进一步:ssh [email protected]

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您可以在那里设置的选项列表。

答案2

您需要-i使用密钥路径来使用 ssh 命令的选项。修改后的命令将是:

ssh -i ~/.ssh/id_rsa_admin [email protected] -p 9215

相关内容