vscode通过跳板机连接远程服务器

使用背景

一般实验室等环境的服务器是设置在内网环境中的,无法直接使用笔记本在公共环境下直接连接。但是由于种种原因,会出现在这样的场景下需要连接服务器的需求,而通过跳板机是一种常见的办法。

一般通过ssh先后连接跳板机再跳转至服务器的方法,在编程时仅能通过vim等工具使用命令行环境,十分不方便。

本文在vscode的环境下,通过跳板机连接到远程服务器,从而实现在服务器编写程序时,与在本地vscode编程环境一样便捷的效果。

准备工具

  1. vscode (自行安装,不赘述)
  2. ssh (windows自带的可能版本过低,推荐下载使用openssh,或者在电脑中安装git的话,也可以使用git自带的ssh)

配置步骤

  1. 在vscode的扩展中安装Remote - SSH插件

  2. 在安装中的插件中,选择Configure,然后选择config文件,如下填写

    Host JumpMachine             #跳板机名称
        HostName XXX.XXX.XXX.XXX #跳板机IP 
        Port XXX                 #跳板机ssh端口
        User root                #跳板机用户名
    
    Host TargetMachine           #远程服务器名称
        HostName XXX.XXX.XXX.XXX #远程服务器IP
        Port XXX                 #远程服务器ssh端口
        User root                #远程服务器用户名
        ProxyCommand ssh -W %h:%p JumpMachine
    

    注:ProxyCommand中的ssh换成准备工具中安装的ssh的地址,例如C:\Windows\System32\OpenSSH\ssh.exe

  3. 由于ssh连接时需要密码,连接时输入密码太过繁琐,因此可以将笔记本电脑的公钥发送至跳板机和远程服务器上

    3.1 若电脑上没有秘钥,可以首先先生成一个公钥秘钥对

    ssh-keygen -t rsa -b 4096
    

    并根据提示找到秘钥的生成位置,如C:\Users\XXX\.ssh目录下,并切换到该目录下

    3.2 为防止发送公钥时覆盖了目标机器上的authorized_keys文件,可以使用ssh-copy-id命令来复制公钥

    ssh-copy-id -i id_rsa.pub  "-p 跳板机ssh端口 用户名@跳板机IP"
    

    3.3 将笔记本的公钥也同样的发送到远程服务器中

    可以先使用scp将公钥发送至跳板机

    scp -P 跳板机ssh端口 id_rsa.pub  跳板机用户名@跳板机IP:~/.ssh/temp
    

    再通过ssh连接至跳板机,并切换到~/.ssh目录下,将其发送至远程服务器

    scp -P 远程服务器ssh端口 temp 远程服务器用户名@远程服务器IP:~/.ssh/temp
    

    最后通过ssh连接至远程服务器,切换到~/.ssh目录下,手动将公钥拼接到authorized_keys中

    cat temp >> authorized_keys
    

此时就大功告成了,可以打开vscode中的Remote-SSH扩展,在左边文件栏中SSH TARGETS就会看到前面配置的JumpMachineTargetMachine,选择TargetMachine进行连接即可完成远程使用vscode进行编程,第一次打开会在远程服务器中安装一些远程工具,可能会花费一些时间

要在VS Code中使用SSH连接跳板机,你可以按照以下步骤进行配置: 1. 打开VS Code,并在扩展中搜索"Remote - SSH"并安装\[1\]。 2. 使用快捷键Ctrl+Shift+P呼出控制面板,然后搜索"remote ssh",选择第一个"Connect to Host"。 3. 在弹出的面板中选择最下方的"Configure SSH Hosts…",然后点击第一个"C:\Users…"进行配置\[2\]。 4. 在出现的config配置文件中写入以下信息: ``` Host JumpMachine // 跳板机名称,可随便取 HostName xx.xxx.xx.xxx // 跳板机主机名 Port xx // 跳板机端口号 User xxxx // 跳板机登录用户名 Host TargetMachine // 目标服务器名称,可随便取 HostName xx.xxx.xxx.xxx // 目标服务器主机名 User xxxxxx // 目标服务器用户名 ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p JumpMachine // 'C:\Windows\System32\OpenSSH\ssh.exe'是你电脑上的ssh.exe路径,Windows用户一般都是这个 ``` 注意:以上配置中的xx.xxx.xx.xxx是跳板机的IP地址,JumpMachine是跳板机的名称,xx.xxx.xxx.xxx是目标服务器的IP地址,TargetMachine是目标服务器的名称\[2\]。 5. 保存配置文件后,你可以使用快捷键Ctrl+Shift+P呼出控制面板,然后搜索"remote ssh",选择第一个"Connect to Host",然后选择你配置的跳板机和目标服务器进行连接\[1\]。 这样,你就可以在VS Code中通过SSH连接跳板机了。希望对你有帮助! #### 引用[.reference_title] - *1* *2* [vscode通过跳板机连接远程服务器(亲测可用)](https://blog.csdn.net/qq_45717425/article/details/127624723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vscode配置跳板机简明教程](https://blog.csdn.net/raelum/article/details/131333888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值