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

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

我按照说明这里并在以 root 身份登录 vps 时创建了一组 ssh 密钥 (rsa)。建议加密级别为 4096...

钥匙已经在主人手中了,所以无需转移……

但这些说明在以下情况下失效了:

“您可以通过执行以下操作来确保此功能有效:”

ssh <username>@<host>

就是这样,我不明白下一步需要做什么。即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 文件。

希望这些信息足够。

答案1

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

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

然后你分享你的民众密钥与(主机)服务器共享,服务器将密钥放入授权密钥文件中。执行此操作的命令是:

ssh-copy-id <username>@<host>

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

此文件包含允许以该用户身份、在该系统上、从您的台式机和任何其他获得授权的机器登录的密钥。授权密钥文件通常也是针对每个用户的,但在主机系统上。如果是针对每个用户的文件,则可在 中找到/home/username/.ssh/authorized_keys

答案2

并在以 root 身份登录 vps 时创建一组 ssh 密钥 (rsa)。建议加密级别为 4096...

你需要在计算机上保存私钥。它在服务器上毫无用处。

  1. 我该在哪里做这件事?

在您的机器(客户端)上,您想要连接到服务器(与您现在存储私钥的位置相同)

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

使用您拥有文件的用户authorized_keys。 在您的例子中,它看起来像ubuntu用户。

相关内容