因此我在 virtualbox 中设置了一个 ubuntu 虚拟机,用户名为 dhruv,主机名为 dhruvhadoop。
我已经从网络设置中设置了端口转发规则,其名称为 ssh、无主机 IP、主机端口为 3022、无客户 IP 且客户端口为 22。
然后我在我的客户机上安装了 openssh-server 并重新启动了我的客户机。
然后从我的主机上我可以:$ ssh -p 3022 [email protected]
但是我无法做到:出现错误消息:权限被拒绝(公钥,密码)$ ssh -p 3022 [email protected]
我以为我不知道客户机的根用户的密码。
我去了我的访客机并做了
$$ su -
并写下密码,结果却是错误的。
所以我做了,
$$ sudo passwd root
并且我设置了密码。
然后我就可以做到:
$$ su -
它可以正常工作并将我提升为 root 用户。
但是,从我的主机到具有 root 权限的客户机的 ssh 却给我带来了同样的问题。
我错过了什么?
答案1
sshd 可能禁用了 root 登录。检查文件/etc/ssh/sshd_config
,找到行PermitRootLogin no
,将其替换no
为yes
并保存。然后通过 重新启动 sshd service sshd restart
。