我按照说明这里并在以 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...
你需要在计算机上保存私钥。它在服务器上毫无用处。
- 我该在哪里做这件事?
在您的机器(客户端)上,您想要连接到服务器(与您现在存储私钥的位置相同)
- 我可以使用相同的方式以其他用户身份登录吗?
使用您拥有文件的用户authorized_keys
。 在您的例子中,它看起来像ubuntu
用户。