错误一
win10 本地 VSCode
插件Remote-SSH
连接远程服务器错误 “could not establish connection *****“
解决办法
1.确定虚拟机Ubuntu的IP地址,$:ifconfig
2.在Windows下确定是否能够链接虚拟机Ubuntu
打开cmd
, 执行:ping 192.168.201.144
3.Ubuntu安装ssh服务
$: ssh localhost
如上图则说明未安装成功,ssh包括ssh客户端openssh-client和ssh服务端openssh-server,通过openssh-client我们可以远程登录其他主机,而开放本机的ssh的服务我们需要有openssh-server,ubuntu默认安装了openssh-client,但没有安装openssh-server,因此我们无法在主机上通过ssh访问虚拟机内部的ubuntu。
安装SSH服务:sudo apt-get install openssh-server
查看SSH状态:sudo service ssh status
如上图Active: active (running) since Mon 2021-10-25 16:08:37 CST; 19s ago
则说明安装成功。
到这里之后,回到Windows中的VS CODE 。
在SSH TARGETS
中,找到远程计算机,点击右边的,链接到远程计算机。此时应该会弹出输入远程计算机密码,但是不管怎么输入密码,都会反复要求输入密码,最后链接失败,控制台输出MyHarmonyOS@192.168.201.144: Permission denied (publickey,password).
错误二
SSH 登录 Ubuntu 出现错误,MyHarmonyOS@192.168.201.144: Permission denied (publickey,password)..
回到Windows下,打开cmd, 执行ssh Name@ip_address
,Name
为Ubuntu
的主机名称,ip_address
为Ubuntu
中的IP地址。
但是不管我怎么输入密码,和在VS CODE中一样,密码错误,反复输入都一样。
网络上大多数的 Permission denied 解决方案,都是修改sudo gdiet /etc/ssh/sshd_config
加上这一句 :
PermitRootLogin yes
有的还说要去掉PasswordAuthentication yes
前的#
保存退出,重启ssh服务:
sudo /etc/init.d/ssh restart
但是依旧不能解决问题,我这边还是SSH远程访问出现Permission denied(publickey,password)
终于在这一篇文章中找到了答案,SSH远程访问出现Permission denied(publickey,password)解决方法
解决方法
1.Windows上安装SSH服务
设置–》应用–》可选功能–》添加功能–》安装 OpenSSH服务器 和 OpenSSH客户端
在左下角搜索栏输入服务,将相关SSH服务设置为自动(延迟启动),我的之前一个是禁用,一个是手动。
在确保ssh服务已开启、管理员密码正确、IP地址正确、网络通畅后,SSH远程访问依旧出现Permission denied(publickey,password),原因在于我的Ubuntu里并没有创建名为MyHarmonyOS
的用户,所以在输入
ssh 用户名@目标ip地址
时,输入Ubuntu的管理员密码就不对了。所以这里的 "用户名"
应该是Ubuntu的用户名或管理员名
,而不是Ubuntu的主机名,之前Permission denied
的原因误以为是这个地方是主机名,然后就一直没改。
现在再次打开cmd,输入: ssh 用户名@目标ip地址
就能够链接到Ubuntu了。
在windows的VS CODE里再次链接Ubuntu, 此时在弹出的SSH连接命令输入框中输入“ssh username@ip_address” ,输入登录远程计算机的密码,就不会报错了,已进入远程计算机的Visual Studio Code 。
之前输错的ssh 链接, 需要在SSH TARGET 中进行删除。
点击右边的齿轮
在弹出的选项中选择之前的第一个
config文件中的每一个这样的段落都对应一个链接,不需要的直接删除后保存即可。