我正在尝试使用 ssh 访问我的虚拟机,但它显示消息“权限被拒绝,请重试”。
我想要做的是使用我的 ubuntu vm 作为服务器,使用我的物理机(windows 10 Home)作为客户端,以便通过密码验证方法(不使用密钥)使用 ssh 连接到我的服务器。到目前为止,我所做的是:
1). 我使用 VirtualBox 并创建了一个 ubuntu 22.04.1 虚拟机。在 VirtualBox 的设置中,我在网络部分使用桥接适配器。
2). 我在我的 ubuntu 上是 root 用户。(我没有创建其他账户)。
3).在我的ubuntu上安装了ssh-server并启动了ssh服务。
4). 在我的 sshd_config 文件中的 /etc/ssh 中,我有:
- 未选中端口 22
- 未选中 PasswordAuthentication 是
- 取消选中 PermitRootLogin 并将其设置为是。
- 默认情况下,未选中 KbdInteractiveAuthentication no,以及 UsePAM yes、X11Forwarding yes、PrintMotd no、AcceptEnv LANG LC_*、Subsystem sftp /usr/lib/openssh/sftp-server
5). 在我的 Windows 10 上我有:
- 通过 powershell 安装客户端 OpenSSH
- 在防火墙的入站和出站防火墙规则的高级设置中,我已启用 ICMPv4-In 和 ICMPv6-In、ICMPv4-Out 和 ICMPv6-Out。
6). 我在 Windows 上以管理员身份运行。(我没有创建其他用户帐户)
7) 我确信我有两台机器的正确 IP 地址。我可以从我的 Windows ping 我的 ubuntu vm。我也可以从我的 ubuntu vm ping 我的 Windows。我有两台机器的用户名和密码。
8). 在 windows 上使用 cmd 我尝试:ssh (ubuntu 服务器用户名)@(ubuntu 服务器 IP 地址) 我输入密码,结果是:Permission denied, please try again。第三次尝试时显示:Permission denied (publickey, password)。
9). 检查 /var/log 中的 auth.log,我看到以下内容:
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=(my windows IP) user=(my ubuntu's username)
Failed password for (ubuntu's username) from (my windows IP) port 61618 ssh2
上述信息重复了2次。
Connection reset by authenticating user (ubuntu username) (windows IP) port 61618 [preauth]
PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=(my windows IP) user=(my ubuntu's username)
10). 在 windows 的 cmd 上输入 ssh -v (ubuntu 的用户名)@(ubuntu 的 IP),它显示以下内容:(我输入的消息似乎有错误)
pubkey_prepare: ssh_get_authentication_socket: No such file or directory
kex_input_ext_info: [email protected] (unrecognised)
Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such file or directory
然后它提示我输入 ubuntu 服务器的密码(当然仍然失败)
我很抱歉发了这么长的帖子但我真的需要帮助。
提前感谢您。