问题产生
小白打算学习Linux系统,开了一个装了ubuntu18系统的虚拟机。网上看到可以vscode下载remove-SSH插件连接虚拟机(视频链接:b站视频),比较方便,于是按照网上的步骤进行操作,结果就出现了如题所述的问题。在网上查找了各种各样的解决办法,许多都没有效果,发现原因是系统里面没有安装openssh-server,最后总算是成功连接上了。接下来讲述我解决的过程,该过程只针对我遇到的情况,可能并不具有普遍适用性。
解决过程
检查配置文件
//按视频所讲,写好配置文件,不能写错
//host可以随便写,hostname填虚拟机ipv4地址,user填登录ubuntu时显示的用户名
Host ubuntu18
HostName 192.168.83.144
User nitro
连接
在这里并没有像视频中那样直接连上了,显示连接失败,出现了试图写入的管道不存在的提示。
打开ubuntu进行配置
原因为Linux系统里面没有安装openssh-server,在终端输入切换成根用户,并输入以下命令
su root
// 输入root密码
apt install openssh-server
apt install openssh-clients
执行完成后,输入以下命令查看
ps -e | grep ssh
输出结果至少显示两行
874 ? 00:00:00 sshd
1514 ? 00:00:00 ssh-agent
说明已经可以连接,重新打开vscode连接
这个时候再次遇到问题,输入正确的密码后没有反应,需要再次输入,多次输入后还是提示连接失败了。虚拟机还需要进行配置。
修改ssh配置文件
仍需要切换为根用户,执行以下命令
//打开配置文档
vi /etc/ssh/sshd_config
//接下来对文档进行修改,需要会vi的基本使用
//在文档约第30行位置找到
PermitRootLogin yes
//如果后面的值不是yes,就修改成yes,如果前面有'#'号还需要删除
//在文档约60行的位置找到
# PasswordAuthentication yes
将前面的'#'号删除,变成
PasswordAuthentication yes
//修改完成,保存退出
不放心再重启一下虚拟机,重新使用vscode进行连接。
结果
输入密码后,终于成功连上了。