ssh反向代理连接

学校的个人机器里将了虚拟机,无法在外网使用ssh连接,但是学校的服务器可连

所以通过服务器为跳板,实现在外部连自己的虚拟机

  • 首先在虚拟机上运行: ssh -NfR 6666:localhost:22 name@school_server
  • 这时即可通过学校服务器连接到虚拟机: ssh -p 6666 name@virtual_machin

前面已经学会配置了config文件了,配置见SSH Config 配置指南

这里在config文件里面再加一条:

这里的User 写你的虚拟机 user

下面proxyCommand这一行最后面,需要写你在config文件里配置的用于当个ssh跳板的学校服务器的名字,如server2之类的

Host lab_vm
    # 这里填 localhost,因为相对于 Server1 来说,隧道口就在 localhost
    HostName localhost
    User yourname
    Port 6666
    # 关键指令:告诉 SSH 先登录 school_server,再从那里用 netcat 转发流量
    ProxyCommand ssh -W %h:%p server_name_in_your_config_file