我刚刚租了一个带有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