如何使用SSH / RSA密钥登录VPS

我按照这里的说明创建了一组ssh密钥(rsa),同时以root身份登录到vps。 建议的加密级别4096 …

钥匙已经在主机上,所以不需要转移……

但指示分崩离析:

“你可以通过这样做来确保这一点:”

ssh @ 

就是这样,我不明白接下来我需要做什么。 即root @ vpsIPaddress。

1 – 我在哪里这样做? 2 – 我可以使用相同的方式登录其他用户吗?

我无法理解这一点,因为对于我如何使用密钥而不是密码实际登录,我的指示似乎很不清楚。

下面的行在sshd_config中(但不确定ssh_config用于什么?)

 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys AuthorizedKeysFile /etc/ssh/rootuser/authorized_keys 

在home / ubuntu / .ssh目录中也有一个authorized_keys文件。

希望这是足够的信息。

我不太明白你的意思是“钥匙在主机上,所以不需要转移”,但认为这可能是由于你在VPS而不是客户机(你的桌面)上创建了密钥。 这是错误的方式,当你习惯这个系统时,这是一个非常常见的错误。

密钥应该在客户端上创建,基于每个用户,Ubuntu客户端的默认位置是/home/username/.ssh/目录。 不应共享的id_rsa默认称为id_rsa ,默认情况下公钥称为id_rsa.pub 。 如果您从Windows客户端连接,我认为密钥位于C:\Users\username\.ssh\

然后,您与(主机)服务器共享您的公钥,该服务器将密钥放在授权密钥文件中。 执行此操作的命令是:

 ssh-copy-id @ 

其中是您要在VPS上登录的用户名, 是VPS的IP地址。 如果您为创建的ssh密钥选择了不同的名称或位置,或者您的服务器使用ssh的非标准端口,则还可以添加此命令。

此文件包含允许用于在该系统上,从您的桌面计算机以及授权的任何其他计算机上以该用户身份登录的密钥。 授权密钥文件通常也是每个用户,但在主机系统上。 如果它是每用户文件,则可以在/home/username/.ssh/authorized_keys找到它。

并创建了一组ssh密钥(rsa),同时以root身份登录到vps。 建议的加密级别4096 …

您需要在计算机上拥有私钥。 它在服务器上没用。

  1. 我在哪里这样做?

在您希望连接到服务器的计算机(客户端)上(现在存储私钥的位置)

  1. 我可以使用相同的方式登录其他用户吗?

使用具有authorized_keys文件的用户。 在你的情况下,它看起来像ubuntu用户。