我有一个远程服务器 www.example.com
当我使用 ssh-key 登录时,一切看起来都很好。我阅读了一些教程,建立了私钥/公钥对等。
登录看起来像:
ssh -lusername example.com #it's working fine
但我想在同一服务器上以另一个用户名登录。我很困惑。
ssh -lroot example.com #it's NOT working fine, I have to enter the password
这种情况我该怎么办?
仅供参考,根目录已经由我的朋友(我们共享服务器)获得了authorized_keys 文件,因此我生成了一个新的公钥并将其附加到原始密钥中。
谢谢
答案1
这应该有效:
ssh [email protected]
ssh [email protected]
如果 root/用户名的私钥没有正确区分,您可以尝试使用以下命令显式调用它:
ssh -i ~/.ssh/username_id_rsa [email protected]
ssh -i ~/.ssh/root_id_rsa [email protected]
如果第二个选项仍然不起作用,则说明您在远程服务器上的公钥设置有问题(检查远程主机上的/var/log/secure
或文件以获取更多信息)/var/log/auth
检查:
- 该目录的权限
.ssh
为700。 - 文件权限
authorized_keys
为600。
编辑,您还可以这样做:
touch ~/.ssh/config
vi ~/.ssh/config
#Add the following:
Host usernameHostname
HostName example.com
User username
IdentityFile ~/.ssh/username_id_rsa
Host rootHostname
HostName example.com
User root
IdentityFile ~/.ssh/root_id_rsa
# Save the file with ' :wq '
Now just type:
ssh usernameexample
[OR]
ssh rootexample