前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ssh&git如何穿越代理

ssh&git如何穿越代理

作者头像
十毛
发布2019-03-27 12:00:08
1.6K0
发布2019-03-27 12:00:08
举报

在一些场景,ssh或git需要通过代理才可以访问到目标服务器,但是大部分代理只支持HTTP协议,所以需要配置特殊方式穿越代理达到目标服务器

穿越方式

OpenSSH 的客户端有一个 ProxyCommand 的选项, 用于 SSH 客户端与服务器之间的隧道通信(tunneling)。所谓的隧道技术,也称代理技术,是网络通信技术的一个普遍概念,,就是把一条信道建立于另外一条信道之上。

SSH 会话基于一个 TCP 连接。如果我们把连接的两个端口各自的出口(也即入口)进行截获,就可以用其它的信道来传输。而且 SSH 仍然认为它用的是和另一端连接一条 TCP 连接。

SSH登录

这里假设远端服务器用户名是remote_user,域名或ip为remote-host.com,代理的IP为192.168.0.100:8080 ssh -o ProxyCommand='nc --proxy 192.168.0.100:8080 %h %p' remote_user@remote-host.com -p 22


更常见的的方式是保存到配置文件~/.ssh/config

代码语言:javascript
复制
Host remote-host.com
        HostName remote-host.com
        User remote_user
        Port 22
        ProxyCommand nc --proxy 192.168.0.100:8080 %h %p

配置好之后就可以直接使用命令ssh remote-host.com

GIT

git可以通过配置git config --global 192.168.0.100:8080,从而支持HTTPS协议的访问,但是每次都需要输入账户密码,还是比较麻烦。最好还是使用SSH协议,配置如下:

代码语言:javascript
复制
Host code.aliyun.com
        HostName code.aliyun.com
        User git
        Port 22
        ProxyCommand nc --proxy 192.168.0.100:8080 %h %p
        IdentityFile ~/.ssh/id_rsa

配置好后,就可以直接访问目标服务器了。 git clone git@code.aliyun.com:tenmao/test.git

Windows环境

Windows环境下没有nc命令,但是安装git bash后可以有connect命令,配置如下:

代码语言:javascript
复制
Host code.aliyun.com
        User git
        Port 22
        ProxyCommand "C:/Program Files/Git/mingw64/bin/connect" -H 192.168.0.100:8080 %h %p
        IdentityFile "C:\Users\user\.ssh\id_rsa"
        TCPKeepAlive yes
        IdentitiesOnly yes

高级用法

代码语言:javascript
复制
ssh dev "sudo tcpdump -s 0 -U -n -i eth0 not port 22 -w -" | wireshark -k -i -

这条命令在远端调用tcpdump抓包,通过管道传回本地,然后让wireshark抓包,就达到了实时抓包的效果了。这比原来的抓包存储到pcap文件中,然后两次scp传回来要快很多。

常见问题

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.12.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 穿越方式
    • SSH登录
      • GIT
        • Windows环境
          • 高级用法
          • 常见问题
          • 参考
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档