ssh ProxyCommand 通过正向代理 建立隧道

问题描述

国内的服务器A 连接国外服务器B 速度很慢,
可以考虑通过一个中转服务器C做中间代理

定义场景

服务器A 的IP是A.A.A.A
服务器B 的IP是B.B.B.B
服务器C 的IP是C.C.C.C

服务器A 访问 服务器B (服务器C 作为中间节点)

解决办法

  1. 在服务器A上,使用ssh 的ProxyCommand 和ssh代理(常用)
    • 如果是ssh命令 ssh -o ProxyCommand="ssh -W %h:%p C.C.C.C" B.B.B.B
    • 如果是scp命令 scp -o ProxyCommand="ssh -W %h:%p C.C.C.C" anaconda-ks.cfg B.B.B.B:/root
  2. 在服务器A上,使用ssh 的ProxyCommand 和 HTTP代理
  • 在中转服务器C 上 搭建正向代理
    yum install tinyproxy -y
    sed -i "/^Allow .*/cAllow A.A.A.A" /etc/tinyproxy/tinyproxy.conf
    上面的X.X.X.X就是你的服务器A的IP,只允许你的服务器A使用该正向代理
    service tinyproxy start
  • ssh连接到远程 ssh -o ProxyCommand="nc -x C.C.C.C:8888 %h:%p" root@B.B.B.B
    就是这样了
本人水平有限,还在不断学习中 难免有很多错误或者遗漏,望见谅
原文地址:https://www.cnblogs.com/faberbeta/p/14986278.html