两种方式
工具获取
- 使用命令行时,windows需要connect.exe;linux需要netcat。后者下载方便,先提供前者下载链接(360会报有风险,我用着没事): connect.exe
- 下载完成后放到
C:\Windows\System32
文件夹,或者自行配置环境变量
Xshell连接
先与普通ssh连接一样
再在 连接->代理
里点击 浏览->添加代理
;注意选择代理的类型
隧道
- 访问源端口,即可访问到目标端口;
- 在
连接->ssh->隧道
里可直接添加; - 在
查看->隧道窗格->转移规则
中可看到隧道是否建立成功 - PS:如果是有用WSL2,需要访问本地隧道端口,需要使用主机地址加端口
命令行
windows
C:\Users\Administrator.ssh
- 编辑
config
文件 ,替换掉中文部分;connect 命令中的参数 -S 是指定使用 socks 5 协议,也可以使用 -H 来使用 HTTP 协议来代理
1
2
3
4
5
6
7
| Host 一个代号而已
HostName 需要ssh上去的那台服务器地址
User 用户名
Port 端口
PreferredAuthentications publickey
IdentityFile ~/.ssh/密钥文件
ProxyCommand connect -H 代理服务器的地址:端口 %h %p
|
1
| ssh -fNg -L 8084:127.0.0.1:9090 {config文件中的Host}
|
linux
- 连接同上,
ProxyCommand
命令改为,其中 nc 命令中的参数 -X 5 指定代理协议为 socks 5 ,如果是 socks 4 则写为 -X 4 ,如果是 HTTPS 代理则为 -X connect:
1
| nc -X connect -x 代理服务器的地址:端口 %h %p
|
1
| ssh -L localhost:8084:127.0.0.1:9090 -N -f {config文件中的Host}
|
参考