当前位置: 首页 > 知识库问答 >
问题:

linux - vscode 如何两层 ssh?

公孙志尚
2023-08-16

首先,我有一个机器, 是华为云的

可以用下面的方式登录

ssh root@60.204.173.xxx

然后运维帮我搞了一个穿透,我只要在华为云的机器上输入下面的命令,就可以连接到北京的一台内网机器

ssh  -p  7845 root@localhost

我现在想在我的电脑上,直接 vscode ssh remote 到北京内网机器,通过华为云机器转发,我要怎么配置?


我在网上找到一个教程(地址完了)
让我在宿主机(本机 mac)的 ~/.ssh/config 下面,添加

Host huawei_cloud    HostName 60.204.173.xxx    User root    Port 22

然后保存退出

然后在宿主机(本机 mac),输入

ssh -L 7845:localhost:7845 huawei_cloud

在宿主机(本机 mac)再新开一个窗口,输入

ssh -p 7845 root@localhost        

我发现宿主机的终端就可以直接连接到北京机器了

╰─➤  ssh -p 7845 root@localhost                                                                     255 ↵Authorized users only. All activities may be monitored and reported.Authorized users only. All activities may be monitored and reported.Activate the web console with: systemctl enable --now cockpit.socketLast login: Wed Aug 16 15:56:22 2023 from 192.168.1.205[root@beijing-1 ~]# [root@beijing-1 ~]# [root@beijing-1 ~]# [root@beijing-1 ~]# 

然后我配置了

图片.png

再在 vscode 中想连接到北京机器,但是 vscode 一直显示 opening remote

图片.png

我(北京机器)用 ps jfax | grep code 看了看

确实已经有 code 进程了

[root@beijing-1 ~]# ps jfax | grep code  25097   25763   25762   25097 pts/3      25762 S+       0   0:00  |           \_ grep code      1   25299   25215   25215 ?             -1 S        0   0:00 sh /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/bin/code-server --start-server --host=127.0.0.1 --accept-server-license-terms --enable-remote-auto-shutdown --port=0 --telemetry-level all --connection-token-file /root/.vscode-server/.6c3e3dba23e8fadc360aed75ce363ba185c49794.token  25299   25309   25215   25215 ?             -1 Sl       0   0:00  \_ /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/node /root/.vscode-server/bin/6c3e3dba23e8fadc360aed75ce363ba185c49794/out/server-main.js --start-server --host=127.0.0.1 --accept-server-license-terms --enable-remote-auto-shutdown --port=0 --telemetry-level all --connection-token-file /root/.vscode-server/.6c3e3dba23e8fadc360aed75ce363ba185c49794.token

说明 vscode 已经连接到北京机器了,但是一直显示 opening remote


图片.png

我试了一下「查尔斯」的方法,也是一直显示 opening remote

图片.png

共有2个答案

燕英奕
2023-08-16

修改~/.ssh/config实现,如下

Host huawei   HostName 60.204.173.xxx   User root   Port xxHost beijing   HostName localhost   User root   Port 7845   ProxyCommand ssh -W %h:%p huawei

然后你就可以直接用beijing这个host登录了

image.png

夏宪
2023-08-16

可以这样,在本机电脑上执行

ssh -L 127.0.0.1:17845:127.0.0.1:7845 root@60.204.173.xxx# 这个是ssh隧道的本地转发功能。

这个时候,本机电脑会监听127.0.0.1:17845 ,访问端口的流量会转发到60.204.173.xxx服务器上的7845端口。

最后使用本地的vscode连接 127.0.0.1:17845端口,就是连上了北京的内网机器了。

 类似资料:
  • 如何以root权限运行vscode 网上的方法试过了 --usr-dir --no-sandbox 也没用. 为什么以管理员权限运行vscode不是像其他程序一样直接加sudo就x行了 ,求大佬解惑

  • 我有一个两层神经网络的例子。第一层接受两个参数并有一个输出。第二个应作为第一层的结果使用一个参数和一个附加参数。应该是这样的: 因此,我创建了一个具有两个层的模型,并尝试将它们合并,但它返回了一个错误:<代码>顺序模型中的第一层必须获得“input\u shape”或“batch\u input\u shape”参数 在线<代码>结果。添加(合并)。 型号:

  • 1.2 两层负载 大众点评对网络流量采用两层负载。那么,这两层负载是如何分工的呢? 我们结合一个具体的请求来分析这个问题: 假设有一条请求,访问domain_name/location_name: 首先,浏览器寻找该域名domain_name对应的公网IP。电脑接入的运营商不同,对应的公网IP就不同。 由于该IP是F5的对外IP,请求发送到F5上。 F5将此请求反向代理到一台Nginx服务器。 该

  • 本文向大家介绍php foreach如何跳出两层循环(详解),包括了php foreach如何跳出两层循环(详解)的使用技巧和注意事项,需要的朋友参考一下 使用break可以跳出当前循环,那如果想再跳出上一层的循环呢 我们就需要break 2即可 以上这篇php foreach如何跳出两层循环(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • vscode中按ctrl+n新建的编辑框,会有填充模版,其中有html模版,但是默认的html模版太捡漏了,我想自己添加一些内容,但不知道去哪里修改或新建,哪位大佬指点一下 尝试修改"配置用户代码片段"里的html,但发现毫无关联.

  • 这个问题是针对开源vscode(在MIT许可下),而不是VS代码。我花了昨天的时间试图找出如何构建某种发布版本。我的意思是,就像在VisualStudio中一样,我们有“调试”和“发布”构建。我是C#开发者,可以这样说,vscode都是基于web技术的。在大学里做过一些javascript,现在是历史。我不知道从哪里开始。有人能给我指出正确的方向和学习的内容吗?对于初学者来说,如何使用自定义exe