我按照此处的说明创建了一组 ssh 密钥 (rsa),同时以 root 身份登录到 vps。建议的加密级别 4096...
密钥已经在主机上,因此无需转移...
但是指令在以下地方分崩离析:
“您可以通过以下方式确保它有效:”
ssh <username>@<host>
就是这样,我不明白我接下来需要做什么。即root@vpsIP地址。
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.pub
。如果您从 Windows 客户端连接,我认为密钥位于C:\Users\username\.ssh\
.然后,您与(主机)服务器共享您的公钥,该服务器将密钥放入授权的密钥文件中。执行此操作的命令是:
<username>
您要在 VPS 上登录的用户名在哪里,并且<host>
是 VPS 的 IP 地址。如果您为创建的 ssh 密钥选择了不同的名称或位置,或者您的服务器为 ssh 使用了非标准端口,则还有其他内容要添加到此命令中。此文件包含允许用于以该用户身份、在该系统上、从您的桌面计算机以及任何其他授权的计算机登录的密钥。授权密钥文件通常也是每个用户的,但在主机系统上。如果它是每个用户的文件,它会在
/home/username/.ssh/authorized_keys
.您需要在您的计算机上拥有私钥。在服务器上是没用的。
在您想要连接到服务器的机器(客户端)上(同一个地方,您现在存储私钥的地方)
使用拥有
authorized_keys
文件的用户。在您的情况下,它看起来像ubuntu
user.