利用笔记本与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即可

相关推荐
喵叔哟29 分钟前
02-CSharp基础语法快速入门
服务器
AI逐月2 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
想逃离铁厂的老铁2 小时前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
小白跃升坊2 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
杨江2 小时前
seafile docker安装说明
运维
舰长1152 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀3 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng3 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.3 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独3 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3