码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VSCode远程开发 Windows11 Linux


    问题背景

    之前一直用JetBrains的Gateway和本地Linux虚拟机开发,不过笔记本配置不够,太卡了。最近租了个国外的便宜服务器,JetBrains的Gateway总断连,也不知道为什么,所以试试VSCode。

    本地 Windows 11 ,远程 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-25-generic x86_64)

    2024-02-22 之前存的草稿没发布,不幸电脑安装了个Windows11测试版更新进不了桌面,重装后又装了一次。

    解决过程

    一般使用ssh连接的命令(需要另行输入密码):

    ssh <User Name>@<IP Address>
    ssh root@192.168.134.130
    
    • 1
    • 2

    之前远程已经安装了go和ssh。

    安装vscode-remote-extensionpack

    在这里插入图片描述

    安装ns(ncat,nc)

    连接到服务器走代理可能速度快一些,需要用到nc。

    我之前就安装了 Windows 包管理工具Chocolatey。

    2024-02-22 补充:安装 Chocolatey
    使用管理员权限模式打开Powershell,执行以下命令,安装并检查是否安装成功:

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
    choco -?
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    问一问 ChatGPT ,可知需要安装 nmap,其中包括ncat,ncat是nc的一个增强的版本。顺便问后文所提的代理命令。

    choco install nmap
    
    • 1

    配置ssh

    在本地配置ssh

    对于一般的配置,可以通过输入使用的ssh命令添加远程。
    在这里插入图片描述
    对于较复杂的配置,可以通过编辑ssh配置文件~/.ssh/config,~表示用户目录。
    在这里插入图片描述
    配置后内容如下:
    在这里插入图片描述

    Host xxx
        HostName 127.x.x.x
        User root
        ForwardAgent yes
        IdentityFile ~/.ssh/id_ed25519
        ProxyCommand ncat --proxy localhost:7890 --proxy-type http %h %p
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • Host 是名字
    • HostName 是 IP 地址
    • User 是远程的用户名
    • ForwardAgent 大概是指是否支持远程机器使用本地密钥
    • IdentityFile 在本地生成的ssh私钥
    • ProxyCommand 代理命令

    id_ed25519 生成参考:
    Github: 生成新的 SSH 密钥并将其添加到 ssh-agent
    在 Git for Windows 上自动启动 ssh-agent
    测试 SSH 连接

    注意:代理要配置为可以接受“局域网连接”,也就是同一机器上程序的连接,大概是因为监听localhost

    在远程配置ssh

    把 IdentityFile 对应的公钥发送到远程,配置远程ssh支持通过此公钥登录。

    修改 ssh 配置 /etc/ssh/sshd_config:
    (我的机器初始时以下前两行是注释掉的,后一行没有,不确定实际需不需要后一个)

    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    
    RSAAuthentication yes
    
    • 1
    • 2
    • 3
    • 4

    在.ssh/authorized_keys中加入公钥的内容,无需执行重启等其它操作。

    SSH timed out

    因为总是连接错误,提示:
    Could not establish connection to "xxx": Connecting with SSH timed out.

    VSCode Setting设置中配置(我直接都设了,没注意是哪个起了作用):

    • remote.SSH.useLocalServer : true
    • remote.SSH.remotePlatform : {“Host”: “linux”}

    Host为ssh配置中的Host。

    在这里插入图片描述

    后续步骤

    后续按提示安装 VSCode Golang 需要的工具。

    尚存的问题

    构建的时候

    参考资料

    ChatGPT: 配置VS Code远程代理

    【Linux】配置SSH免密登录
    使用Linux,从正确配置ssh开始
    vscode+go远程开发
    VScode连接linux服务器timed out [Could not establish connection * SSH timed out] 解决方案集合,总有一个能成功
    vscode和虚拟机联网的一些问题备注
    windows平台VS code配置remote ssh

    Github: Connecting to GitHub with SSH
    Github: Troubleshooting SSH
    Gitee: SSH 公钥设置

  • 相关阅读:
    AI实战营第二期 第十节 《MMagic 代码课》——笔记11
    艾伦脑科学研究所,脑图谱,小鼠不同的功能脑区,可视化展示
    你敢信,国内也有免费的高分辨率 DEM 数据?
    【迅为iMX6Q】开发板 烧写工具 MfgTool2.exe 打不开问题的解决
    ESP32网络编程-TCP客户端数据传输
    如何使用VScode软件测试接口
    基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站
    Windows下使用图形化的Havoc C2
    华为od计试
    【源码】C++坦克大战源码
  • 原文地址:https://blog.csdn.net/u010834463/article/details/136062627
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号