Windows Terminal下配置ssh over socks5

303天前 · 分享 · 171次阅读

本文是在Windows下已经安装Git为前提


在网上可以找到让git clone走socks5的方法

但是都是讲用nc命令,windows没有而且还不想安装怎么办?当然是有办法的~

简单来说就是在~/.ssh/config中添加下面这样的配置即可

Host github.com
    ProxyCommand connect -S 127.0.0.1:1080 %h %p

然后,在git bash中使用git clone xxx的时候,就会走代理

这个方法最早在 https://www.v2ex.com/t/423121 看到

但是我尝试也这样配置,然后试图让ssh也走socks5,但是各种写法都试了,没用.exe

最终发现connect应该写成完整路径才行

https://serverfault.com/questions/956613/windows-10-ssh-proxycommand-posix-spawn-no-such-file-or-directory 下面的回答中,提到ssh要用完整路径

于是我把ssh写了完成路径,然后折腾了很久都不行

因为里面提到的是ssh完整路径,就被误导了

最终意识到应该是connect写完整路径hhh,折腾了好几个小时

现在~/.ssh/config中增加下面的配置

  • 其中id_rsa这个可以通过ssh-keygen生成,可以自定义路径和文件名,记得将公钥上传服务端
  • remoteserver就是个别名,这个配置好了之后,直接ssh remoteserver就可以连接了
  • User就是用户名,Port就是ssh的端口,可以不写,默认是22
  • ProxyCommand就是下面的形式了,最最重要的就是connect.exe必须是完整路径,这个exe在git的安装目录下
Host remoteserver
    HostName 1.2.3.4
    User root
    Port 22
    IdentityFile ~/.ssh/id_rsa
    ProxyCommand C:\Program Files\Git\mingw64\bin\connect.exe -S 127.0.0.1:1080 %h %p

然后给Terminal添加一个配置,现在直接一键连接~

{
    // ssh profile.
    "guid": "{8caa0dad-35be-5776-a8ff-afceeeaa6101}",
    "name": "remoteserver",
    "commandline": "cmd.exe /K ssh remoteserver",
    "hidden": false
},

2021-03-28T09:34:59.png

补充一点,connect.exe的全路径,git bash的配置的话,需要加引号。

👍 0

none

最后修改于299天前

评论

贴吧 狗头 原神 小黄脸
收起

贴吧

狗头

原神

小黄脸

目录

avatar

未末

迷失

119

文章数

272

评论数

7

分类