美文网首页
ssh 隧道应用&代理

ssh 隧道应用&代理

作者: 迷茫_小青年 | 来源:发表于2020-01-21 18:07 被阅读0次

一般情况

user ---> 跳板机 ----> 服务器1

user 可以ssh连接跳板机,但是不能直接连接服务器1。服务器1只能通过跳板机连接。

这是比较通常的堡垒机的情况。

一般情况user是先ssh登陆到跳板机,再从跳板机 ssh 到 服务器1

ssh两次。而且要从user本地scp文件到服务器1,也要ssh两次。或是用lrzsz 方式。

最佳的解决办法就是用ssh隧道 。隧道建立以后user 可以直接ssh到服务器1

第一种
编辑/etc/ssh/ssh_config
在最后添加

Host jumphost
        HostName 1.1.2.3
        User xxx
    IdentityFile ~/.ssh/xxx.pem

Host server1
    Hostname 172.21.89.20
    ProxyCommand ssh -q -W %h:%p jumphost
        User xxx
        IdentityFile ~/.ssh/xxx.pem

添加好后,直接 ssh server1 就能正常连接到server1服务器。

原理就是连接ssh server1 之前,先ssh 到 jumphost 。然后通过这个连接再ssh server1。

还有一种
先执行

ssh -qNfCD 0.0.0.0:1080  xxx@jumphost

运行这个命令以后,本地回监听1080端口
在ssh_config 里

Host server1
    Hostname 172.21.89.20
    ProxyCommand connect-proxy -S 127.0.0.1:1080 %h %p
        User xxx
        IdentityFile ~/.ssh/xxx.pem

ssh server1 就可以直接连接到server1

这个原理就是 ssh 到jumphost 并且监听本地1080端口
将ssh server1 数据通过connect-proxy 这个命令转发到本地的127.0.0.1:1080 转发过去。

这个办法也可以做多个机器串联。

user ---> jumphost1 ----> jumphost2 --- server1

user必须通过jumphost1连接到jumphost2 再连接到server1

Host jumphost2
        HostName 3.2.3.2
        User xxx
    ProxyCommand ssh -q -x -W %h:%p jumphost1
    IdentityFile ~/.ssh/xxx.pem
    ServerAliveInterval 60
    Compression yes

Host jumphost1
        HostName 1.1.1.2
        User xxx
    IdentityFile ~/.ssh/xxx.pem
    ServerAliveInterval 60
    Compression yes

Host server1
    Hostname 2.2.2.3
    ProxyCommand ssh -q -W %h:%p jumphost2
        User xxx
        IdentityFile ~/.ssh/xx.pem
        ServerAliveInterval 60
        Compression yes

多说一句 connect-proxy 直接用epel 安装就行。如果是centos6 ,可以使用nc ,没有就是yum install -y netcat 安装一个。

ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

注意centos7 不能用nc 了 。因为centos7装的nc 没有-X 这个参数。只能用connect-proxy

相关文章

  • ssh 隧道应用&代理

    一般情况 user ---> 跳板机 ----> 服务器1 user 可以ssh连接跳板机,但是不能直接连接服...

  • SSH隧道技术

    SSH隧道(即SSH代理、端口转发),现在linux默认支持的就是ssh登录。对于SSH隧道,如果之前没接触过,只...

  • ssh隧道用于调试

    相关阅读 SSH隧道与端口转发及内网渗透 | 个人博客 SSH隧道技术----端口转发,socket代理 | 博客...

  • 通过SSH隧道连接mysql

    SSH隧道的类型 SSH隧道有3种类型: 动态端口转发(Socks 代理) 本地端口转发 远端端口转发 通过本地端...

  • 使用ccproxy的二级代理转换socks5代理为http代理

    在通过SSH隧道配置http代理文中,使用了Privoxy来实现转换socks5代理为Http代理,但是Privo...

  • SSH隧道及其使用

    什么是SSH隧道 SSH隧道是一种通过加密的SSH连接传输任意网络数据的方法。它可以用来为任何应用程序添加加密通道...

  • 通过SSH隧道配置http代理

    如何配置SSH隧道,请参考使用SSH隧道通过海外服务器访问外部网络,本文在前一篇的基础上继续探索Window上So...

  • SSH隧道应用, 突破网络限制

    SSH隧道应用, 突破网络限制 文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机...

  • ssh隧道

    一.概述 由于工作原因,总是要连接到各种不能直接访问的环境,所以大部分环境必须要使用ssh隧道进行访问。其实只是简...

  • ssh隧道

    ssh -TND 9999 piperck@target_server 端口后面接目标ssh到的目标主机 即可建立...

网友评论

      本文标题:ssh 隧道应用&代理

      本文链接:https://www.haomeiwen.com/subject/xpbezctx.html