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

相关推荐
star learning white12 小时前
xm C语言12
服务器·c语言·前端
永恒-龙啸12 小时前
Ubuntu编译自定义immortalwrt固件与软件编译
运维·ubuntu·开源软件·immortalwrt
starvapour12 小时前
Ubuntu触发硬件级系统重启
linux·运维·ubuntu
偶遇急雨洗心尘12 小时前
记录一次服务器迁移时,数据库版本不一致导致sql函数报错和系统redirect重定向丢失域名问题
运维·服务器·数据库·sql
咋吃都不胖lyh12 小时前
CUDA、Ubuntu、显卡驱动:零基础讲清(附三者关联)
linux·运维·ubuntu
java_logo12 小时前
Transmission Docker 容器化部署指南
运维·docker·容器·kubernetes·apache·rocketmq·transmission
羊村懒哥12 小时前
ubuntu24.04系统安装VNC
linux·运维·服务器
BullSmall13 小时前
linux 根据端口查看进程和对应的应用
linux·运维
kali-Myon13 小时前
快速解决 Docker 环境中无法打开 gdb 调试窗口以及 tmux 中无法滚动页面内容和无法选中复制的问题
运维·安全·docker·容器·gdb·pwn·tmux
阿阿越13 小时前
Linux系统编程 -- 进程优先级、切换和调度
linux·运维·服务器