vscode remote-ssh 内网穿透远程开发调试

作者:matrix 发布时间:2021 年 10 月 7 日 分类:command Linux

线上代码有时候会需要部署到内网或者防火墙后面的本地服务器环境,这个时候发布代码或者调试都会造成不便。

使用环境

测试环境为 mac vscode

windows版本的操作相差不大。

vscode作为ide编辑器,也作为文件管理工具来上传下载服务器文件。需要安装Remote - SSH插件完成这些功能。

目的

本地环境可以直接编辑操作远程服务器中的文件,当然这非常危险和忌讳!

修改文件前你需要做备份然后灾难还原 😀

路径也很清晰,通过中转来访问:

localhost -> jump -> target-service

本地电脑连接中转服务器,再通过中转服务器连接后端的target-service完成操作。

配置ssh

插件安装之后按F1键打开命令行,找到remote-ssh相关文件配置命令。
图片5271-vscode remote-ssh 内网穿透远程开发调试

或者可以直接修改~/.ssh/config文件

配置

# 中转服务器
Host jump-box
    HostName 118.X.X.11
    User root
    # IdentityFile ~/.ssh/jumpbox

# 需要连接的目标服务器 即后端的非暴露地址
# Target machine with private IP address
Host target-box
    HostName 192.168.1.11
    User root
    # IdentityFile ~/.ssh/target
    ProxyCommand ssh -q -W %h:%p jump-box

说明:
如果服务器有设置密钥登录,IdentityFile参数用于设置私钥文件地址。

连接

配置完成之后,点击左侧的remote - ssh插件的选项页面,就能看到配置的服务器。包含jump-box,target-box

图片5272-vscode remote-ssh 内网穿透远程开发调试

之后打开连接,点击右侧的文件夹📁图标打开新窗口,vscode会进行连接请求。若是密码登录请求则会让你输入密码,依次连接jump-box,target-box服务器,且最终停留在target-box服务器上,可以在线编辑操作非常方便。

vscode连接成功后,左下角会有绿色连接提示。

文件操作

和其他编辑器的基本功能都是一样,代码文件直接编辑保存,之后会自动上传到服务器。

如果想上传文件需要在vscode中找到要上传的文件或目录,点击右键复制。之后服务器的vscode窗口中点击右键粘贴。

图片5275-vscode remote-ssh 内网穿透远程开发调试

参考:

https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks

http://kb.ictbanking.net/article.php?id=639

https://code.visualstudio.com/docs/remote/ssh

https://kenzoluo.github.io/2020/03/13/VScode%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B/

https://xirikm.net/2019/619-1