Authentication SSH访问而不提及远程服务器的用户

Authentication SSH访问而不提及远程服务器的用户,authentication,ubuntu,ssh,Authentication,Ubuntu,Ssh,我有一个Ubuntu服务器,有两个用户:user1和user2。我在本地生成了一个SSH密钥,并将公共部分复制到两个用户的授权密钥文件中。我可以作为两个用户登录: srimanth@local:~$ ssh user1@server Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-31-generic x86_64) ... Last login: Fri Mar 20 04:11:08 2015 from A.B.C.D user1@server

我有一个Ubuntu服务器,有两个用户:user1和user2。我在本地生成了一个SSH密钥,并将公共部分复制到两个用户的授权密钥文件中。我可以作为两个用户登录:

srimanth@local:~$ ssh user1@server
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-31-generic x86_64)
...
Last login: Fri Mar 20 04:11:08 2015 from A.B.C.D
user1@server:~$

srimanth@local:~$ ssh user2@server
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-31-generic x86_64)
...
Last login: Thu Mar 19 22:45:26 2015 from A.B.C.D
user2@server:~$
但是,如果我没有提到用户名身份验证失败:

srimanth@local:~$ ssh -v server
...
debug1: Connection established.
debug1: identity file /home/srimanth/.ssh/id_rsa type -1
...
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: srimanth@local
debug1: Trying private key: /home/srimanth/.ssh/id_rsa
...
debug1: No more authentication methods to try.
Permission denied (publickey).

请帮助我如何解决此问题。

如果您不指定登录用户名,ssh将尝试使用您当前的用户名登录实例:在您的情况下,通过查看您的问题,这将是srimanth

要使其工作,服务器上必须首先存在srimanth用户帐户,或者必须按照从Learath2到中的说明定义srimanth用户SSH配置文件中实例的默认用户登录


请参阅在Ubuntu服务器中创建用户帐户。

SSH正在尝试使用srimanth用户名登录,由于远程计算机上不存在srimanth用户名,因此失败。您必须提供远程有效用户名,否则将无法登录到远程计算机

由于您已经为两个用户生成了密钥并将其添加到authorized_keys文件中,所以当您使用其中任何一个用户登录时,ssh能够使用您的私钥对您进行身份验证

如果您不想在登录时指定用户名,您有两个选项(它仍将使用用户名登录,但您可以避免在命令中指定用户名):

  • 将srimanth用户添加到远程服务器,并将公钥添加到其授权密钥文件中,这样,当您以srimanth身份登录并尝试SSH时,它将使用相同的用户名并允许您登录到远程计算机

  • 在SSH配置中添加一个条目,以便在连接到特定主机时使用特定用户名:

  • 主机开发人员 主机名服务器 端口22 用户默认用户 可能重复的谢谢你的人:)。我添加了一个名为“srimanth”的unix用户。现在我可以完美地登录了。谢谢男人:)你的回答真的很有帮助,很容易就解决了这个问题。 Host dev HostName SERVER Port 22 User DEFAULTUSER