window10中的ssh通过代理连接目标服务器

762 阅读1分钟

由于某些原因, 我们国内通过ssh连接香港服务器会非常卡, 但很多时候我们要通过ssh对香港的服务器进行操作, 这就造成了一个问题. 那么这篇文章就来解决win10中ssh连接香港服务器卡的问题.

前置条件

你必须要有一个腾讯云或阿里云的代理服务器.

实现步骤

我这里使用的是git bash, 代理也是本地的socket代理

  1. 获取代理的端口和地址

  2. 在找到C:\Users\<用户名>\.ssh路径下找到config配置文件

20220124103527-2022-01-24-10-35-28

  1. 在配置文件上写下以下内容
Host *
	#-S参数表示使用Socks5代理, 如果是HTTP代理则为-H
	ProxyCommand connect -S <代理IP>:<代理端口> %h %p
	# 断开时重试连接的次数
	ServerAliveCountMax 5
	# 每隔30秒自动发送一个空的请求以保持连接
	ServerAliveInterval 30

%h %p: %h和%p是我们动态输入的hostname和端口, 因为我们连接某个ssh服务端, 必须要指定那个ssh服务端的地址和端口. 如果端口不输入默认是22.
在window10的git bash中, 是不包含 nc命令的, 所以必须使用 connect命令进行替换, 效果是一样的.
ServerAliveCountMax和ServerAliveInterval只是为了保证长时间不对ssh服务端进行操作时, 也保持连接.

20220124103624-2022-01-24-10-36-25

可能遇到的问题

问题: ssh使用代理连接目标服务器还是很卡
原因: 很显然没走代理, 否则不会卡, 应该是使用了PAC代理模式.
解决: 要么是在PAC代理模式中加入目标服务器地址, 要么是切换到全局代理模式.

文章首发于: hedaoshe.com/316.html