Vscode连接虚拟机报错
Vscode 连接虚拟机报错问题解决
问题解释
Permission denied, please try again.出现这个问题通常表示身份验证失败。
可能的原因有
- SSH用户密码错误
- SSH端口非默认
- SSH配置文件问题
- 虚拟机SSH服务问题:可能SSH服务没有正常启动或防火墙阻止了SSH连接
- ip地址错误
问题分析
重新检查了其他几个地方,经过多次调试,发现问题只可能出在SSH用户密码错误这一点。
用密码是可以正常登录的,所以密码肯定是正确的,所以问题主要出在用户名这里。
cat /etc/passwd
通过该命令查看系统上的所有用户
切换为root用户后可以查看用户密码散列值
sudo cat /etc/shadow
如果看到一个 * 或 !,这意味着该用户没有设置密码。
可以看到root是没有设置密码的,因为它是超级管理员用户,非用户创建的用户。
发现实际用户名是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连接
可以看到连接成功
更进一步的,可以使用FileZilla Client进行文件传输,在虚拟机上进行开发。