ssh设置代理一般来说很简单,对于无密码或者可以支持密钥登录的,都比较无脑
难的地方在于使用用户名密码认证来使用一个http的代理或者socks5的代理,密码如何设置?特殊字符如何处理?
直接上答案,.ssh/config内容如下
Host company
HostName git.mycompany.com
User git
ProxyCommand connect -H username@myhost.tpddns.cn:10001 %h %p
使用的是connect命令,-H表示http代理,后面的参数用户名是可选的,如果是socks5代理用-S,密码通过环境变量HTTP_PROXY_PASSWORD来设置,密码中可以有特殊字符,用户名如果有特殊字符,可以也用环境变量来设置用户名HTTP_PROXY_USER
更多选项和使用参考官方connect的文档https://github.com/gotoh/ssh-connect
这样,git就可以ssh访问公司代码仓库了,至于浏览器访问公司内网网页,直接SwitchyOmega配置一个代理选项就可以了,Http的Proxy支持用户名密码认证,要注意的是Socks5代理chrome浏览器不支持用户名密码认证,因为认证信息是明文传输的,具体配置这里也按下不表
至于如何将公司的内网代理出来,可以看上一篇文章,FRP使用相关的