RedHat 7服务器通过代理SSH连接GitHub的问题求助
解决RHEL7通过代理连接GitHub SSH的问题
核心结论
不需要在你的RHEL7服务器上开放2288端口——这个端口是代理服务器用来转发SSH流量到GitHub的端口,你的服务器只需要和代理的8080端口通信即可。问题出在你的命令配置上,下面是具体修正步骤:
1. 先修正基础错误
你之前的命令用了MyName@github.com,这是错误的——GitHub的SSH连接用户名固定是git,不是你的GitHub用户名,这会直接导致认证失败。
2. 修正ProxyCommand,指定目标端口2288
代理允许通过2288端口传输SSH流量,所以需要让connect-proxy把请求转发到代理的2288端口(而不是默认的SSH 22端口)。执行以下命令测试:
ssh -o ProxyCommand="connect-proxy -S server.proxy.place.organisation.local:8080 %h 2288" git@github.com
如果提示需要安装connect-proxy,先执行:
sudo yum install connect-proxy
3. 配置永久SSH规则(避免每次输长命令)
编辑~/.ssh/config文件(如果没有就创建),添加以下内容:
Host github.com User git ProxyCommand connect-proxy -S server.proxy.place.organisation.local:8080 %h 2288 # 如果你的SSH私钥不是默认的id_rsa,加上下面一行 # IdentityFile ~/.ssh/your_private_key_file
保存后,直接执行ssh -T github.com测试,成功的话会看到:
Hi [你的GitHub用户名]! You've successfully authenticated, but GitHub does not provide shell access.
为什么之前的命令无效?
- 用了错误的SSH用户名
MyName,GitHub SSH认证只接受git作为用户名 - 没有指定目标端口为2288,默认走的22端口不符合代理的流量规则
内容的提问来源于stack exchange,提问作者adam_philips
相关产品推荐
相关产品推荐

