利用笔记本与SSH转发给服务器上的虚拟机通网

利用笔记本给服务器上的虚拟机通网

  • [1. 操作步骤](#1. 操作步骤)
  • [2. 简化命令](#2. 简化命令)

一直仰赖的Libvirt今天突然给我IP干没了,怎么都解决不了,最后还是放弃了,使用QEMU+端口访问模式进行。QEMU网络配置一向是特别恶心的操作,本文主要通过个人笔记本来给QEMU通往。不是不配网桥,而是SSH转发更有性价比。

1. 操作步骤

假设A、B、C,B是服务器,C是B上的虚拟机(端口2333),A是个人PC。默认A上装一个科学上网做转发。

在机器B上:

shell 复制代码
ssh -R 8888:localhost:8888 -p 2333 user_C@localhost

这里,将C的8888端口转发到B的8888端口,user_C是虚拟机用户名。localhost不变,就代表B。

在机器A上:

shell 复制代码
ssh -R 8888:localhost:7890 user_B@IP_of_B

这里,user_B是服务器B的用户,IP_of_B是B的IP,7890是科学上网的端口。

至此,在user_C@localhost上把proxy改成localhost:8888,即可联网。

2. 简化命令

能不能只在机器A上操作?

首先配置.ssh/config

json 复制代码
Host B
	HostName IP_of_B
	User user_B
	
Host A_to_C
  ProxyCommand ssh -W IP_of_B:2333 B
  User user_C
  RemoteForward 8888 localhost:8888

现在,VSCode连虚拟机使用A_to_C,这会自动完成机器B上的端口转发(虚拟机8888转发到B的8888)。

由此,只需在宿主机上执行ssh -R 8888:localhost:7890 user_B@IP_of_B即可

相关推荐
疯狂吧小飞牛6 小时前
GPG基础指令
linux·服务器·网络
C++ 老炮儿的技术栈6 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hjxu20167 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
todoitbo8 小时前
用虚拟局域网打通 Win/Mac/Linux 三端:跨设备协作的实用方案
linux·运维·macos
Sylvia-girl9 小时前
Linux下的基本指令1
linux·运维·服务器
CDN36010 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie1213810 小时前
Docker 面试题
运维·docker·容器
斯班奇的好朋友阿法法10 小时前
在企业的离线内网环境的服务器部署openclaw和大模型
服务器·语言模型
星纬智联技术10 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
天赐学c语言11 小时前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++