Vscode连接虚拟机报错

Vscode 连接虚拟机报错问题解决

问题解释

Permission denied, please try again.出现这个问题通常表示身份验证失败。
可能的原因有

  • SSH用户密码错误
  • SSH端口非默认
  • SSH配置文件问题
  • 虚拟机SSH服务问题:可能SSH服务没有正常启动或防火墙阻止了SSH连接
  • ip地址错误

问题分析

重新检查了其他几个地方,经过多次调试,发现问题只可能出在SSH用户密码错误这一点。
img
用密码是可以正常登录的,所以密码肯定是正确的,所以问题主要出在用户名这里。

cat /etc/passwd

通过该命令查看系统上的所有用户
切换为root用户后可以查看用户密码散列值

sudo cat /etc/shadow

如果看到一个 * 或 !,这意味着该用户没有设置密码。
可以看到root是没有设置密码的,因为它是超级管理员用户,非用户创建的用户。
img
发现实际用户名是matrix而非登录时所显示的Matrix

问题解决

Vscode 配置如下

Host yourhost
  HostName yourhost
  Port 22
  User matrix

SSH配置如下

Port 22
UsePrivilegeSeparation no
PasswordAuthentication yes
PermitRootLogin yes
AllowUsers matrix
RSAAuthentication yes
PubKeyAUthentication yes

可以用sudo vim /etc/ssh/sshd_config编辑配置文件内容,:wq进行保存。
用sudo ufw disable关闭防火墙

使用Vscode连接
img
img

可以看到连接成功
更进一步的,可以使用FileZilla Client进行文件传输,在虚拟机上进行开发。

posted @ 2024-07-07 10:38  Sun-Wind  阅读(126)  评论(0编辑  收藏  举报