今天我配置了 ssh 密钥对我服务器的访问。然后我测试了它们,却不小心忘记指定用户,因此我不应该这样做:
ssh [email protected]
我就是这样做的
ssh myserver.combut
我已成功以用户名登录。这怎么可能呢?ssh 服务器如何知道以哪个用户身份登录?如果是密钥,那么我可能会将同一个密钥添加到多个用户,在这种情况下会发生什么?
答案1
如果您系统中有相同的用户,并且您想要登录,那么无需使用username
登录,它将采用默认系统用户。例如:您的一个系统(客户端)有用户test
,并且您的 ssh 服务器也有用户,test
那么无需提及用户名,例如:
ssh [email protected]
你可以使用如下方式:
ssh myserver.com
ssh serverip
确保在执行 ssh 时,您已在客户端系统中以该用户身份登录。是的,您可以为多个用户执行此操作,例如您的客户端系统有用户user1
,user2
等等user3
。那么您还必须在 ssh 服务器中创建该用户。然后,如果您想登录,请执行以下操作:
su - user1
ssh sshserverip
您将以user1
. 身份登录,如果您这样做
su - user2
ssh sshserverip
您将以 身份登录user2
。如果您想以其他用户身份登录,则必须输入用户名,否则系统会混淆哪个用户必须登录。
ssh username@serverip
或者
ssh serverip -l username
或者
如果您想进行基于密钥的身份验证,则必须添加所有用户的公钥authorized_keys
。有关更多信息,请访问Ubuntu 文档
答案2
如果您没有提及用户名,ssh
将使用您当前登录的用户名。
所以:
username@client$ ssh [email protected]
类似于:
username@client$ ssh myserver.com
所有其他参数(如密钥、密码)将以通常方式使用。