17

在 Windows 系统上给 ssh 设置代理

 3 years ago
source link: https://blog.imyan.ren/posts/4d70a82d/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
炎忍的博客

在 Windows 系统上给 ssh 设置代理

发表于2020-06-01|更新于2020-11-25|技术记录
字数总计:488|阅读时长:1分钟|阅读量:176

看清,使用的系统是 Windows 不是 Linux 或者 MacOS

百度搜到的很多给 git 设置代理的办法,都是给 http 设置代理,而不是给 SSH 设置代理。那个 git config --global http.proxy http://127.0.0.1:1080 设置起来,只针对 http 的 git 有效果。 然后就是 ProxyCommand nc -v -x 127.0.0.1:1080 %h %p,那个分明是给 Linux 才能用的, Windows 上哪里来的 nc 程序?

以下操作是给 Windows 用的,我的操作:

在自己的用户文件夹找到 .ssh 文件夹,比如我的是 C:\Users\nihao\.ssh ,在里面新建一个空白文件,取名 config,如果已经有了就不用创建了。

注意不是 config.txt !

我强烈建议把 Windows 的后缀显示给打开,不然你根本不知道自己到底在编辑什么文件。

都用 Git 了不至于还害怕自己把文件后缀名给改错了吧?

在 config 文件里写上一行就行:

powershell
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -S 127.0.0.1:1080 %h %p

这里 git 的安装路径和后面的代理自己看着填,不要试着用相对路径,保证要吃亏。因为 Program Files 文件夹中间带一个空格,所以这里需要把整个路径给引号引起来。 后面的代理的话,-S 指是 socks 代理,默认是 socks5,127.0.0.1:1080 就是你本地的代理地址,后面的 %h %p 意思是 Host 和 Port,必须得写上,我也不知道为什么要这么设计。 如果要使用 HTTP 代理,就写 -H,更多代理类型(比如 socks4)请参 这个

上这个写法是针对全局的,如果想只针对某个网站的话,就这么写:

powershell
Host github.com
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -S 127.0.0.1:1080 %h %p

现在就可以愉快的使用代理了,不过要记住一定使用 ssh 协议。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK