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

之前远程已经安装了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 -?

在这里插入图片描述

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

choco install nmap

配置ssh

在本地配置ssh

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

Host xxxHostName 127.x.x.xUser rootForwardAgent yesIdentityFile ~/.ssh/id_ed25519ProxyCommand ncat --proxy localhost:7890 --proxy-type http %h %p
  • 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_keysRSAAuthentication yes

.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 公钥设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java项目学习

一、Java项目学习 1.1 瑞吉外卖(项目提供的资料没笔记) 视频资源&#xff1a;https://www.bilibili.com/video/BV13a411q753/?p1 本人git项目地址&#xff1a;https://gitee.com/xx-xuxin/reggie_take_out.git 瑞吉外卖Day01~Day06没讲的功能&#xff08;全功能实现&#xf…

matlab新能源汽车三自由度操纵稳定性分析及优化

1、内容简介 略 可以交流、咨询、答疑 55-新能源汽车三自由度操纵稳定性分析及优化 2、内容说明 略 摘 要 电动化是节能减排、寻求替代能源的最佳途径&#xff0c;已成为行业共识&#xff0c;论文基于江西科技学院桑塔纳轿车油改气项目&#xff0c;在拆除发动机、变速…

洛谷B2096 直方图(java)

题目描述 给定一个非负整数数组&#xff0c;统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 Fmax&#xff08;Fmax≤100000&#xff09;是数组里最大的数&#xff0c;那么我们只统计{0,1,2…Fmax} 里每个数出现的次数。 输入格式 第一行 n 是数组的大小。…

一键生成请求方法的工具 —— OpenAPI Typescript Codegen

文章目录 用法自定义请求参数的方法1&#xff09;使用代码生成器提供的全局参数修改对象2&#xff09;直接定义 axios 请求库的全局参数&#xff0c;比如&#xff1a;全局请求响应拦截器 报错解决 用法 首先下载axios npm install axios官网&#xff1a;https://github.com/f…

Linux运维- FTP服务器

FTP服务器的配置与管理 项目场景 学院教职工在日常工作中&#xff0c;经常需要传送一些文件和资料。可以使用移动存储设备转存再复制&#xff0c;或者通过共享文件的方式实现&#xff0c;但是两种方法都不是很简单、方便。相对于这两种方法&#xff0c;使用FTP传送文件和资料…

【电子通识】为什么单片机芯片上会有多组VDD电源?

在单片机芯片规格书中&#xff0c;我们经常能看到多个组VDD的设计&#xff0c;如下红框所示管脚都是VDD管脚。 为什么需要这样设计&#xff1f;只设置一个VDD管脚&#xff0c;把其他的VDD管脚让出来多做几个IO或是其他复用功能不好吗&#xff1f;接下来我们从单片机内部的电路结…

阿里云-系统盘-磁盘扩容

阿里云系统磁盘扩容 之前是测试环境磁盘用的默认的有 40G&#xff0c;后面升级到正式的 磁盘怕不够用打算升级到 100G&#xff0c; 系统镜像&#xff1a; Alibaba Cloud Linux 3.2104 LTS 64 位 磁盘 ESSD 40G 升级步骤&#xff1a; 扩容与创建快照 在阿里云后台首先去扩容…

域名系统与IP地址分配

域名 域名的概述 域名是一个逻辑的概念&#xff0c;它不反映主机的物理地点 域名结构 由于数字形式的IP地址难以记忆和理解&#xff0c;为此人们采用英文符号来表示IP地址&#xff0c;这就产生了域名&#xff0c;域名长度不超过255各字符&#xff0c;每一层域名长度不超过6…

旅游组团自驾游拼团系统 微信小程序python+java+node.js+php

随着社会的发展&#xff0c;旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一。为方便驴友出行&#xff0c;寻找旅游伙伴&#xff0c;更好的规划旅游计划&#xff0c;开发一款自驾游拼团小程序&#xff0c;通过微信小程序发起自驾游拼团&#xff0c;吸收有车或无车驴…

爬虫入门五(Scrapy架构流程介绍、Scrapy目录结构、Scrapy爬取和解析、Settings相关配置、持久化方案)

文章目录 一、Scrapy架构流程介绍二、Scrapy目录结构三、Scrapy爬取和解析Scrapy的一些命令css解析xpath解析 四、Settings相关配置提高爬取效率基础配置增加爬虫的爬取效率 五、持久化方案 一、Scrapy架构流程介绍 Scrapy一个开源和协作的框架&#xff0c;其最初是为了页面抓取…

Kotlin:协程基础

点击查看&#xff1a;协程基础 中文文档 点击查看&#xff1a;协程基础 英文文档 第一个协程程序 import kotlinx.coroutines.*fun main(){GlobalScope.launch {delay(1000L)//delay 是一个特殊的 挂起函数 &#xff0c;它不会造成线程阻塞&#xff0c;但是会 挂起 协程&…

c++前置前置声明(函数与类)

c是以c的为基础进行后来改进的&#xff0c;而学过c语言的都知道&#xff0c;在c语言中&#xff0c;有时我们不可避免的要用声明&#xff0c;因为有时候我们在定义函数的时候&#xff0c;函数的定义写在了.cpp或是.c文件&#xff0c;而函数的声明我们一般放到了头文件中。一般也…

机器学习:SVM算法(Python)

一、核函数 kernel_func.py import numpy as npdef linear():"""线性核函数:return:"""def _linear(x_i, x_j):return np.dot(x_i, x_j)return _lineardef poly(degree3, coef01.0):"""多项式核函数:param degree: 阶次:param …

Essential C++ 编程基础

Essential C 前言1.1 如何撰写 C程序1.2 对象的定义与初始化1.3 撰写表达式1.4 条件语句和循环语句1.5 如何运用Array和Vector1.6 指针带来弹性1.7 文件的读写 前言 通过Essential C笔记的形式对C相关重点知识进行汇总&#xff0c;读者通读此系列文章就可以轻松的把该语言基础捡…

纯国产轻量化数字孪生:智慧城市、智慧工厂、智慧校园、智慧社区。。。

AMRT 3D数字孪生引擎介绍 AMRT3D引擎是一款融合了眸瑞科技的AMRT格式与轻量化处理技术为基础&#xff0c;以降本增效为目标&#xff0c;支持多端发布的一站式纯国产自研的CS架构项目开发引擎。 引擎包括场景搭建、UI拼搭、零代码交互事件、光影特效组件、GIS/BIM组件、实时数据…

五、数组——Java基础篇

六、数组 1、数组元素的遍历 1.1数组的遍历&#xff1a;将数组内的元素展现出来 1、普通for遍历&#xff1a;根据下表获取数组内的元素 2、增强for遍历&#xff1a; for&#xff08;数据元素类型 变量名&#xff1a;数组名&#xff09;{ 变量名&#xff1a;数组内的每一个值…

【vue+leaflet】vue使用leaflet.pm保存绘制后的图层的点位信息、图层回显、平面图切换、地图事件函数、图层事件函数说明(二)

看效果展示: 【vueleaflet】第二节效果展示视频 1.平面图切换,多个平面图切换展示 <div class"select"><span>平面图&#xff1a;</span><el-select v-model"pic" placeholder"全部" clearable filterable change"ini…

机器学习.线性回归

斯塔1和2是权重项&#xff0c;斯塔0是偏置项&#xff0c;在训练过程中为了使得训练结果更加精确而做的微调&#xff0c;不是一个大范围的因素&#xff0c;核心影响因素是权重项 为了完成矩阵的运算&#xff0c;在斯塔0后面乘x0&#xff0c;使得满足矩阵的转换&#xff0c;所以在…

信息安全管理与评估赛题解析-通信数据(含环境)

通信数据分析 文章目录 通信数据分析1.pcapng:被入侵主机的IP是?被入侵主机的口令是?用户目录下第二个文件夹的名称是?/etc/passwd中倒数第二个用户的用户名是?2.pcapng:服务器自带的后门文件名是什么?服务器的内网IP是多少?攻击者往服务器中写入的key是什么?相关资源…

编码后的字符串lua

-- 长字符串 local long_string "你好你好你好你好你好你好你好你好" local encoded_string "" for i 1, #long_string do local char_code string.byte (long_string, i) encoded_string encoded_string .. char_code .. "," end encoded_…