VS Code 远程连接Linux开发环境

前言

自己给自己疗伤了一年,该好好努力啦!为了不被淘汰毕业,该好好总结这两年的工作啦!
可是,我还是…,不过,我会努力的,争取…

一、问题描述

我本地的开发环境,因为执行了我自己开发的程序,然后崩了…
我本地的环境因为某些原因崩了,然后我的代码…没了,项目文件也打不开了…
公司服务器资源很多,但为啥给我弄一个这么垃圾(卡成PPT)的台式机做开发…
等等…

综上所述,确保自己本地环境和开发环境的隔离是非常重要的;用64核上百G内存的服务器编译代码很香。
当然,这一切都是为了提高开发效率。

二、环境介绍

1.Linux开发环境

系统版本:Fedora 36
IP地址:192.168.31.230
测试lLinux账户名:rjhd

2.VS Code所在的环境

系统版本:Windows 10 / Linux

三、配置步骤

1.在Linux中安装SSH

sudo yum install openssh openssh-client openssh-server

该处仅提供了R系Linux系统的安装命令,U系Linux的安装命令应该是sudo apt-get install openssh openssh-client openssh-server

2.检查ssh服务是否运行

sudo systemctl status sshd

3.启动ssh服务并设置开机自启动

sudo systemctl start sshd
sudo systemctl enable sshd

4.检查ssh服务是否运行,如下图

sudo systemctl status sshd

在这里插入图片描述

特别注意
在Linux操作系统中,需要修改配置文件/etc/ssh/sshd_config中AllowTcpForwarding为yes(取消注释,明确设置为yes),才能正常使用VS Code的远程连接功能。

若需要使用Linux服务器的root用户 用于后续的连接,需要将配置文件/etc/ssh/sshd_config中的PermitRootLogin取消注释并且修改参数为yes。

5.配置VS Code,安装扩展插件Remote Development,如下图

在这里插入图片描述

6.安装完成后,侧边栏中会出现,如下图

在这里插入图片描述

7.选择远程资源管理器,并选择SSH Targets,如下图

在这里插入图片描述

8.点击Add New,窗口将会弹出Enter SSH Connection Command,如下图

在这里插入图片描述
特别注意:在进行下列步骤9时,可先使用telnet(Windows中也可使用该命令,具体用法 必应 或 百度 ,哈哈哈)检查当前主机是否与Linux服务器主机的22端口连通,若连通性存在问题,请检查网络连接 或 Linux主机的防火墙配置。

9.在窗口中输入SSH远程连接命令后回车,如下图

在这里插入图片描述
说明
ssh rjhd@192.168.31.230
ssh 【Linux账户名】@【Linux主机IP地址】
rjhd 为 Linux主机的用户
192.168.31.230 为 Linux主机IP地址

10.选择配置文件,这里默认选择第一个

在这里插入图片描述

其他说明:远程连接配置文件文件,如下图
在这里插入图片描述

11.配置 启动远程连接时,打开命令行,如下图

在这里插入图片描述

到这里,就算配置完成。

12.连接,选择对应的 远程连接 右键 选择 打开远程连接,如下图

在这里插入图片描述
在这里插入图片描述
说明
Connect to Host in Current Windows 表示 在当前窗口 打开远程连接
Connect to Host in New Windows 表示 自动打开一个新的窗口 打开远程连接

选择打开窗口的方式后,会弹出选择远程主机类型的选项,我们这里的远程主机为Linux,因此选择Linux,如下图。
在这里插入图片描述

选择Linux后,终端便会弹出并询问是否继续连接,同时要求我们输入 远程主机连接用户的 密码,即账户rjhd的密码,如下图。
在这里插入图片描述
输入密码后,等待片刻,VS Code将为我们自动配置Linux服务器相关配置。若出现如下图所示时,则表示连接成功。若连接失败会提示对应报错。另外,这个窗口是可以关闭的,只要不点击如下图中右侧 小垃圾桶 就行。还有,这里也可直接创建与Linux服务器的终端(标题栏 - 终端 - 新建终端)。
在这里插入图片描述

连接成功后,则可打开Linux主机中的目录并开始板砖了。如下图 所示,
在这里插入图片描述

特别说明
在连接成功后,也可通过在VS Code中安装部分插件提高我们自己开发效率 和 本地环境与开发环境的隔离。例如:在本地环境中可不安装Git管理工具,但在远程环境中安装Git管理工具。
在第一次连接时,默认情况下,Linux中是不安装我们自定义的插件的,我们需要手动安装下,如下图所示。
在这里插入图片描述

四、关于SSH密钥连接的特别说明

默认情况下,我们在每次 打开远程连接Linux主机都需要输入密码,为了方便我们每次打开连接时自动连接,可做如下 配置。

1.VS Code安装在Windows中

参考链接

(1)本地生成密钥
  • Windows 以Win10 为例,打开 C:\Users\user.ssh ,(建议先将该路径下的文件删除)在当前路径下打开cmd,输入 ssh-keygen -t rsa 生成密钥文件(一路回车)id_rsa.pub
  • 用编辑器打开该文件 id_rsa.pub ,将内容复制到剪贴板。
(2)服务器ssh添加密钥
  • linux创建文件 vim ~/.ssh/authorized_keys 并且在文件里添加剪贴板的内容(路径下没有文件夹和文件就创建,文件夹在就不用管 )

  • 重启ssh即可 systemctl restart sshd (centos7)

​ 如果重启后不生效 , 确认 /etc/ssh/sshd_config 中有没有指定 authorized_keys

2.VS Code安装在Linux中
(1)生成密钥
ssh-keygen

特别注意:执行该命令,需要一路回车,也就是不设置密码,否则达不到效果。

(2)上传密钥
ssh-copy-id [Linux服务器主机账户]@[Linux服务器主机IP地址]

特别注意:这里输入的账户需要与上述【三、配置步骤】中的【9.在窗口中输入SSH远程连接命令后回车】中输入的账户一直。

五、最后的最后

OK OK OK,最后的最后,可能有点啰嗦和累赘了,如果文中存在问题,还请批评指出。
若在使用过程中,遇到其他问题,非常欢迎在评论区 骚扰 和 分析经验

六、其他常见问题处理

1.连接失败 (2024年2月22日 更新)

问题描述

现象:在连接时,提示连接失败且终端显示如下内容:

####################################################
#	WARNING: REMOTE HOSTTDENEUETCAONASCHANGED!     #
####################################################
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY
Someone could be eavesdropping on you right now(man-in-the-middle attack)
It is also possible that a host key has just been changed
The fingerprint for the ECDsA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXX
Please contact your system administrator.
Add correct host key in C:\\Users\\97566/.ssh/known hosts to get rid of this message.
Offending ECDSA key in c:\\Users\\97566/.ssh/known hosts:2
ECDSA host key for 192.168.31.21 has changed and you have requested strict checking.
Host key verification failed

如下图所示:

在这里插入图片描述

问题分析

该问题是由于 在连接远程服务器时,客户端中存放的服务器密钥记录与远程服务器的密钥不一致导致该次验证密钥失败,从而使得该次连接失败。
导致该问题的可能原因及复现步骤:
1,第一次成功连接某个IP的远程服务器
2,重新安装远程服务器或者连接相同IP的远程服务器
3,客户端不做任何修改去连接相同IP的该远程服务器
4,第二次连接时,该问题复现

问题处理

1,打开本地ssh目录,如下图中的目录
在这里插入图片描述
2,在known_hosts文件中找到远程服务器的IP地址后,删除其IP对应整行信息(也可删除所有数据,但后续连接其他的远程服务器,需要重新认证操作),如下图所示
在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

融茧化蝶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值