0


使用vscode 的ssh插件远程连接乌班图虚拟机,实现远程开发。(从头开始部署,从头看完应该可以解决问题)

原因:

在学linux系统编程时,在vim编辑器写c代码实在是太不方便了,于是想要使用vscode的ssh插件来远程开发。

过程:

在网上找了各种各样的教程,大家都讲的很明白透彻,但是可能没有考虑到虚拟机网络这一块是这个功能能否实现比较关键的一环,因为我就是因为网络的问题捣鼓了半天都没成功。。。

问题:

使用ssh连接时一直报无法连接的错误,我猜测是虚拟机的网络配置有问题,于是一直在尝试,桥接,仅主机,nat配了个遍,最后使用nat成功了,本文想记录下自己弄这个的全过程以及一些自己的体会,希望能帮到有需要的人。

流程:

1.vscode相关操作

(一)下载插件remote -SSH

在下载完成后会出现下图左边第五个框,接下来的配置就会在这里进行

(二)虚拟机的网络配置(重点!)

这是我踩坑最多的地方,我想先说说自己的体会,在虚拟机的3种联网模式中,我的理解是

1.仅主机模式是无法完成这个操作的,因为涉及到虚拟机与外部网络的连接问题。

2.桥接模式也许可以,我也花了很多时间在上面,但是没成功,因为桥接模式涉及的ip并不是私有的,而是需要和主机在同一个网络中,那么在设置虚拟机ip时可能和网络中的ip冲突,这是我猜测我没成功的原因

3.使用nat模式!!! nat模式虚拟机是私有ip不存在上述问题

关于nat配置的具体文章大家可以参考这篇文章:vmware linux环境下配置nat网络_vmware设置nat网络_落叶的悲哀的博客-CSDN博客

博主讲得很详细,不过我有所不同的地方是在配置linux的内部ip时,我的/etc目录中并没有博主的那个文件,所以我是在gui中配置的,具体如下:

选择上图编辑连接

可以自行增加一个以太网类型的连接

进入后主要配置一下ipv4 ,如果你是按照上面博主的操作做的话,你可以按照我图片进行虚拟机ip配置,要保证的就是和在nat中设置的ip(这个在博主的配置过程中有)要在同一个网段,同一个网关。这里不用care你主机的ip是啥,在nat转换中主机的ip是共有而虚拟机是私有ip,中间会有相应协议将两边连接。所以他们的ip不需要满足桥接里的一个网段。

配置完成后要启用这个链接。

测试:

在虚拟机ping 主机和主机ping虚拟机看是否互通,如果虚拟机ping不出来,可以关主机防火墙试一下,如果关防火墙就可以ping通的话,可以设置防火墙的入站记录(具体百度)将对应ip地址加入名单即可,最后一定要确定虚拟机还能ping通外网,ping个百度试试。

如果上述步骤完成,虚拟机的部分差不多了。

(三) Vscode配置

还记得上面说的第五个框把,进入后到下图页面,再点击左侧的ssh中的open ssh config file,打开弹出来的第一个,也就我图中的c:......

进入后

Host任意取名

HostName是你的虚拟机ip,也就是你上面所设置的这个

User则是你虚拟机的账户,用root最好,如果不用root后续在linux上修改下你想远程操作的文件以及目录的权限,也不是很恼火。我这用的不是root又不想再去搞了生怕哪一弄又不行了,哈哈,非常害怕,非常虚火。

Port可以不填,默认ssh走的就22号端口。

保存后稍等一会会出现:

选择linux_server中的connect in new window

在弹出框中第一次会让你选择linux

后面就会让你输入passwd,也就是你linux对应这个账号的密码。登录成功后就大功告成了,嘿嘿。

补坑:

如果你不是root用户连接,那么在你编辑linux文件和新建文件时是会报无权限写入或保存文件这个错误的,你可以对你想要操作的文件夹执行一个更改权限的命令,那么当你不使用root时也可以编辑该文件(但是这个做法很不安全,linux下特别是改目录的x权限非常危险),不过我实在不想弄了还怕弄错。命令是: sudo chmod -R 777 文件夹绝对路径。

结语:

    从头完成上述操作后,应该就可以实现使用vscode远程进行开发了,vim里写c我是觉得太痛苦了。       

    最后,文章中我的一些知识性观点可能存在错误的地方,希望各位佬们发现了能够指出,大家有什么看法和好的方法也可以踊跃发言 。如果我叙述过程有不明白的点或者流程不够连贯的地方大家也可以询问我,当然本人的能力有限尽力回答。
标签: vscode ssh ide

本文转载自: https://blog.csdn.net/qq_60395430/article/details/132005125
版权归原作者 Bryanttt3 所有, 如有侵权,请联系我们删除。

“使用vscode 的ssh插件远程连接乌班图虚拟机,实现远程开发。(从头开始部署,从头看完应该可以解决问题)”的评论:

还没有评论