SecureCRT SSH双重socks动态端口转发 - 图1
    目前遇到SecureCRT SSH直接连接阿里云香港节点的云主机总是隔段时间就连不上的问题

    SecureCRT SSH双重socks动态端口转发 - 图2
    但是先通过SecureCRT SSH登录到华东区上海节点ECS主机后,再ssh登录跳转到香港节点ECS却是可以的
    SecureCRT SSH双重socks动态端口转发 - 图3
    但这样跳转无法使用socks 动态端口转发来访问香港节点后网站资源,那有没有什么好的办法来实现呢?关于socks 动态端口转发,可参考之前的文章SSH动态端口转发
    苦苦寻找了好久,总算在SecureCRT的官网Tips文档中里面找到了想要的答案
    https://www.vandyke.com/support/tips/socksproxy.html
    SecureCRT SSH双重socks动态端口转发 - 图4
    SecureCRT SSH双重socks动态端口转发 - 图5

    如上面两张图两种情况,而我遇到的就是第二张图这种情况
    下面介绍双重socks动态端口转发的具体操作步骤
    如下图所示
    SecureCRT SSH双重socks动态端口转发 - 图6
    ServerA——华东区上海节点ECS主机:101.132.116.99 ssh_port 8122
    ServerB——阿里云香港节点ECS主机:149.129.119.105 ssh_port 32222
    1、在连接ServerA的SSH会话(主会话)中配置一条socks v5动态端口转发
    SecureCRT SSH双重socks动态端口转发 - 图7
    SecureCRT SSH双重socks动态端口转发 - 图8
    2、创建全局防火墙配置
    在“主”会话中设置了动态端口转发,需要创建全局防火墙配置,以便其他SecureCRT会话可以使用SSH SOCKS代理。要在SecureCRT中设置全局防火墙/代理:
    1)打开SecureCRT的“ 全局选项”对话框,然后选择“ 防火墙”类别。
    2)按“ 添加”按钮并使用以下配置准则。
    a.指定防火墙的名称(例如:Gateway Firewall)。
    b.将Type字段设置为SOCKS版本5(无身份验证)。
    c.在“ 主机名”或“IP”字段中,键入:127.0.0.1。
    d.设置“ 端口”字段以匹配“主”会话的动态端口转发设置配置为侦听的内容(填写为前面ServerA会话socks动态端口转发的本地端口1080)。
    SecureCRT SSH双重socks动态端口转发 - 图9
    3、在连接ServerB的SSH会话(子会话) 会话选项对话框Firewall选项下拉框中选择刚创建的全局防火墙配置Gateway Firewall
    SecureCRT SSH双重socks动态端口转发 - 图10
    4、在连接ServerB的SSH会话(子会话)中配置另外一条socks v5动态端口转发
    这时这条socks v5动态端口转发的本地端口不能和主会话用的1080冲突,所以这里用21080
    SecureCRT SSH双重socks动态端口转发 - 图11
    5、SecureCRT先打开主会话ServerA,再打开子会话ServerB,如下图所示
    SecureCRT SSH双重socks动态端口转发 - 图12
    在toServerB子会话中输入who am i 可以看到ssh登录到ServerB的IP为ServerA的公网IP101.132.116.99
    看到这里,就好比电影《盗梦空间》中梦中梦,在第一层梦境中再创建一层梦境,so 我们下面进入第二层梦境image.png
    6、火狐Firefox浏览器配置代理后访问ServerB节点后网站资源
    SecureCRT SSH双重socks动态端口转发 - 图14

    SecureCRT SSH双重socks动态端口转发 - 图15