如何在linux服务器的用户帐户上启用ssh密钥身份验证



我刚刚租了一个带有zap主机的VPS,我正试图用公钥身份验证来保护我的服务器。我认为我已经正确地设置了它,如果我键入ssh root@<server ip>,它会立即使用ssh密钥将我登录。但是,如果我只使用ssh <server ip>登录服务器,它会询问我的用户名密码。如何使用户帐户也进行SSH密钥身份验证?

提前感谢

当您从类似UNIX的(Linux,FreeBSD(机器a ssh到机器b而不提供用户名(root@(时,ssh会将您的用户名从机器a显示到机器b。

要在机器b上配置您的用户帐户以使用您的公钥,

  • 确保机器b有一个与您在机器a上使用的用户同名的用户
  • 使用您的用户帐户登录到机器b
  • 在帐户的主目录中创建名为.ssh的目录
  • 将您的一个或多个公钥放入.ssh/authorized_keys

或者,如果你有一个带有公钥的Github帐户,那就更容易了。

  • 使用您的用户帐户登录到机器b
  • 运行ssh-import-id-gh <username>,其中<username>是您的Github用户名

在本地机器上,将以下内容添加到SSH配置中(该配置通常位于~/.ssh/config。如果文件不存在,则可能需要创建该文件。

Host <server ip>
HostName <server ip>
User <your remote user name>
IdentityFile <Path to private key>

在服务器上,以您想以ssh身份登录的用户身份登录,并将公钥的内容附加到位于~/.ssh/authorised_keys

最新更新