ssh 如何处理本地网络上具有相同用户名的 2 台计算机?

K. *_*per 2 networking ssh lan

例如,如果想要访问位于路由器后面的本地网络上的机器上的帐户 bob,他们只需键入:

$ ssh -p xx bob@example.com`
Run Code Online (Sandbox Code Playgroud)

但是,如何ssh处理本地网络上两台机器具有相同用户名的可能性?是否有标志可以区分机器 A 上的用户 bob 与机器 B 上的不同用户 bob,还是会ssh引发错误?

Dop*_*oti 18

为什么要ssh关心在不同主机上重复用户名?绝对可以预料这会发生。提示:root用户无所不在,不是吗?

因此,您的问题的答案是:ssh以与其他所有事情相同的方式处理它:在与相关主机交谈之前不关心引用了哪个用户。

对上述内容的简化扩展:

发生的第一件事是ssh客户端尝试与远程ssh服务器建立对话。打开通信通道后,客户端会查看它是否是已知主机(例如,在 中存在条目~/.ssh/known_hosts),如果它是未知主机或具有无效凭据的已知主机(例如主机密钥已更改),则正确处理事情)。

现在,所有这些都已完成,并且ssh服务器和客户端之间的通信线路已正确打开,客户端将对服务器说“我想为用户进行身份验证bob”。自然,服务器不会关心bob网络上的任何其他s;只有自己。