VSCode真的是一款非常优秀的编辑器,配合各种插件就成为了一款称手的轻量级IDE,相信很多同学都有在服务器上跑实验的需求,我也不例外。一开始,我采用MobaXterm作为连接远程服务器的工具,但如果想在线上对代码做修改就只能用文本编辑器,没有代码高亮、补全,同时也只能用命令行调试工具,体验就不是很好,VSCode的remote-ssh插件就很好地解决了我的痛点,一键连接服务器,远程开发、调试。
但是有些服务器是在内网,没有公网ip, 举例说,就是我使用的个人电脑A直接连实验室只有内网ip的服务器C是连不上的, 解决方法是先连接实验室内一个有公网ip的服务器B, 然后A连B, B连C, 这样就A间接连了C, B就叫做跳板机。
这里默认VSCode已经安装了remote-ssh插件如图所示:
1.查看跳板机的ssh服务情况
使用如下命令查看ssh服务有没有运行
1 | ps -ef | grep ssh |
如果有,可以看到类似以下内容:
这证明ssh已经在运行了,进程名为sshd,如果没有运行,可以通过以下命令运行之:
1 | service sshd start |
再看下这个ssh服务的网络连接情况:
1 | netstat -ntlp |
如果看到如下内容:
这说明sshd已经能够正常工作了,且端口是22(这个很重要下文会用到), 如果利用客户端(SecurCRT,putty等)连接不上,尝试关闭防火墙试试: service iptables stop
2.配置VSCode的ssh文件
这里修改的文件是下图所示:
然后进行如下的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #跳板机名称,可以随便取 Host JumpMachine #跳板机ip HostName 1.1.1.1 #登入的用户名,可以不是root User root #上文提到的sshd服务端口 Port 22 #目标机名称,可以随便取 Host TargetMachine #目标机ip HostName 1.1.1.1 #登入的用户名,可以不是root User root #特别注意这里不需要设置端口了 #起跳转作用的代码,可以直接复制,注意JumpMachine需要与前面跳板机名称相同 ProxyCommand ssh -W %h:%p JumpMachine |
配置完成后可以看到这样的效果:
点击+号然后就可以进行远程登陆了,注意这样没有配置公钥的方法需要连续输入两次密码,一次是跳板机的密码,一次是目标机的密码。
后续有空还会更新免密登陆的相关操作步骤。