ssh 公钥是否与用户关联?

use*_*356 9 ssh

我的猜测是,一台正在运行的机器ssh server将 a 映射ssh public key到有权访问的我的用户名(我是远程用户)。但是其他一些人和我也可以代表某个本地用户登录到远程机器(这意味着我们有一台远程机器,该机器有本地用户john.doe)。这是否意味着还存在一个用户john.doe到多个ssh public keys有权代表 访问的映射john.doe

Arc*_*mar 9

最简洁的答案是不。

示例场景:您 (Bob) 想要连接到远程主机 ( earth) 作为alice.

SSH 是从某个地方(Unix、Windows、平板电脑等)到alice主机 ( earth)上的用户( ) 的连接。

当你 ( bob) 没有密码连接时,你使用一个私钥(在 Unix 上,它传统上位于~/.ssh,但你可以把它放在任何地方)。

远程主机只有两个事实:

  • 你想连接为alice
  • 您声称拥有私钥(您提供了其中的指纹)

earth具有公钥部分的远程主机 ( ) 发出任何拥有私钥部分的人都可以回答的挑战。挑战完成后,您只需连接即可。

在这种情况下,您证明了您拥有其中一个alice授权密钥的私有部分。但是远程主机 ( earth) 无法知道您是 Bob、Igor 或其他任何人。

请记住,您可以从用户方案完全不同的 Windows 或 Android 设备进行连接。

authorized_keys

该文件列出了可以连接的公钥(挑战后)。

该文件位于

  • ${HOME}/.ssh/authorized_keys (默认)
  • 给出任何位置 AuthorizedKeysFilesshd_config文件。见man sshd_config