在 中,/home/petri/.ssh/
我有一个名为 的私钥petri
。当我尝试使用 ssh 连接到我的服务器时,它不接受我的私钥。运行后-v
发现它没有尝试我的密钥petry
,而只是尝试不存在的 id_rsa 和 id_dsa:
$ssh server
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: petri@office
debug1: Authentications that can continue: publickey
debug1: Offering public key: petri@office
debug1: Authentications that can continue: publickey
debug1: Offering public key: petri@office
debug1: Authentications that can continue: publickey
debug1: Offering public key: petri@office
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/petri/.ssh/id_rsa
debug1: Trying private key: /home/petri/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
奇怪的是,之前一切都很好。无论如何,我该如何告诉 SSH 使用我的petri
密钥,而不是尝试不存在的标准密钥?
注意:我的.ssh 文件夹是 chmod700
并且 petri 文件是600
,这不是问题。
答案1
两种方式:
在 ssh 命令中指定密钥,例如“ssh -i ~/.ssh/petri server.example.com”
创建一个 .ssh/config 文件,内容如下:
主持人 *
身份文件 /home/petri/.ssh/petri
如需更多选项,请执行“man ssh_config”或“man ssh”,具体取决于您要执行的操作。
答案2
尝试这个:
ssh -i /path/to/petri