从 Mac 使用 SSH 连接到远程服务器

从 Mac 使用 SSH 连接到远程服务器

我已经生成了一个公钥文件(id_rsa.pub)和一个私钥文件(id_rsa)并将它们放在我的~/.ssh文件夹中

据服务器管理员称,他已经将“我的密钥”添加到服务器以供访问。

有人可以澄清一下吗:

  • 当他说他已经添加了我的“密钥”时。他添加的是公钥还是私钥?我的印象是私钥不应该分发,而应该只发送公钥。那么为什么服务器管理员要我的私钥呢?

  • 我尝试使用 ~/.ssh/config 文件连接到服务器,其中 IdentityFile 的条目作为 id_rsa 密钥(私钥)。我收到以下错误:Permission denied (publickey). 这是否意味着它希望我发送公钥而不是私钥?

  • 仅通过观察就能识别公钥和私钥吗?它们有特定的长度吗?

答案1

  • 服务器管理员只需要公钥。
  • 如果StrictModes yes在 sshd_config 中启用,则必须检查 id_rsa 文件的权限。
  • 创建密钥时,您已指定长度。这是私钥的长度(以位为单位)。

使用该ssh -v选项,ssh 会打印如下调试消息:

$ ssh -v user@server
# ...
# debug1: identity file /Users/you/.ssh/id_rsa type -1
# debug1: identity file /Users/you/.ssh/id_rsa-cert type -1
# debug1: identity file /Users/you/.ssh/id_dsa type -1
# debug1: identity file /Users/you/.ssh/id_dsa-cert type -1
# ...
# debug1: Authentications that can continue: publickey
# debug1: Next authentication method: publickey
# debug1: Trying private key: /Users/you/.ssh/id_rsa
# debug1: Trying private key: /Users/you/.ssh/id_dsa
# debug1: No more authentication methods to try.
# Permission denied (publickey).

希望这可以帮助。

相关内容