在 VirtualBox 中安装了两台虚拟机后,我尝试使用 ssh 协议将它们从客户端计算机(安装了 openssh-client)连接到 ssh 服务器计算机(安装了 openssh-server)。两台机器都在仅主机网络(名为:vboxnet0)中。当我尝试从客户端(名为:sshclient)打开与服务器(名为:sshserver 且 IP 地址为:192.168.56.3)之间的 ssh 连接时,收到消息:权限被拒绝,请重试。我输入:ssh sshclient@sshserver -p 22
并输入密码(我确定是正确的)三次。服务器配置文件上启用了端口 22 /etc/ssh/sshd_config
,取消了 PasswordAuthentication 行的注释,并在/etc/hosts
服务器端的文件中添加了客户端的 IP 地址。
发生了什么事?有什么解决方法吗?
多谢。
答案1
由于客户端无法尝试连接到服务器,请尝试连接netstat -tln
到服务器。听起来好像服务器由于某种原因没有打开端口 22。
如果没有列出:22,则尝试重新启动 ssh 服务。
此外,当尝试通过 ssh 连接到服务器时,用户部分('@' 之前)需要是服务器上的用户。听起来您正在尝试使用 sshClient 中的用户登录 sshServer,但实际上这没有意义。
例如:假设 sshServer 有一个用户 ExtraUser,而 sshClient 有一个用户 Karen。如果 Karen 想要通过 ssh 进入服务器,她需要输入ssh ExtraUser@sshServer
。这样她就可以以 ExtraUser 的身份登录 sshServer,而不是以 Karen 的身份。这一点很重要,因为 Karen 的用户帐户/权限位于 sshClient 上,而不是 sshServer 上。