.ssh/config/IdentityFile 中指定的文件是私钥还是公钥?

Dim*_*ims 5 ssh key-authentication

如果我在我的 ssh 配置中指定

Host myhost
    User myname
    IdentityFile mykey
Run Code Online (Sandbox Code Playgroud)

那么什么是IdentitfyFile:私钥或公钥?

lae*_*eio 6

私钥。请参阅https://linux.die.net/man/5/ssh_config。它默认为~/.ssh/id_rsa,当您生成密钥对时,公共密钥对默认为~/.ssh/id_rsa.pub.

如果您感兴趣:私钥是您(并且只有您)有权访问的私钥。这是将其用作身份验证方法的基本假设。当您通过IdentifyFile 提供密钥时,它实际上不会发送到远程服务器。公钥-私钥对允许您在不发送的情况下证明您拥有它,从而保持其私密性。一旦服务器验证了此证明,它将相信您是相关用户。为了进行此证明,它要求服务器知道与私钥匹配的公钥,这就是为什么您将这些.ssh/authorized_keys(或类似的)放在服务器上。您可能会在许多服务器上使用相同的公钥。

  • 显然在某些情况下它可以是公钥:https://serverfault.com/a/599565/836715 (3认同)