据我所知,如果客户端想要连接到服务器,客户端会将其public
密钥添加到authorized_keys
服务器上特定用户的服务器文件中。然后客户端可以像这样连接到服务器:
ssh [email protected]
我的问题是,有没有办法实现这一点:
ssh server.com
服务器是否以某种方式根据提供的密钥来选择用户?
答案1
公钥被放置在服务器上使用ssh-keygen
并ssh-copy-id
生成公钥的用户的主目录中。如果您使用 ssh 连接到没有用户名的机器,它将尝试使用登录用户的用户名进行连接。如果登录的用户在服务器上没有密钥,那么它将尝试密码验证。如果密码验证被禁用并且用户没有密钥,则登录将失败。这是假设用户有登录名和 ssh 访问权限。
答案2
.ssh/config
您可以在文件中定义别名:
Host server
Hostname server.com or the IP
User username
Port ssh-port
然后按照 进行连接ssh server
。