使用SSH搭建代理及端口转发
layout: post
title: 使用SSH搭建代理及端口转发
subtitle:
date: 2019-06-11
author: Island
categories:
- 工具学习
tags:- 环境配置
- 代理
- ssh
搭建代理
以下操作皆在本地win下完成
开启端口转发
ssh -N -D 127.0.0.1:<local_port> root@<server_ip> -p <server_ssh_port>
在chrome中下载
Proxy switchyOmega
,新建一个配置socks5
代理位本地ip加端口,如下:首先添加一个ss直接代理:
再按如下图添加一个自动切换模式:
附上规则列表链接
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
配置完成,需要操作时在chrome切换到对应模式即可
将内网端口投送至外网
现在假定机器A为内网机器,B为有公网ip的机器。
在内网机器A中执行以下命令:
sudo apt-get install autossh
autossh -M 5678 -NCR <port_1>:localhost:22 root@<server_ip> -p <server_ssh_port>
其中
<port_1>
为B机器中一个空闲端口,执行完这句命令便将A机器的22端口投送在B机器的上。另外,我这里使用了autossh是为了保证ssh连接的可靠性。 执行完这个命令后,在B机器上ssh连接其
端口以及可以正常连接,但是要在别的机器上连接还不行,还需要将这个端口再转发到B机器上另外一个端口才可以 在公网机器B中执行以下命令:
ssh -fCNL *:<port_2>:localhost:<port_1> localhost -p <server_ssh_port>
执行完本命令后,便可使用ssh连接B机器的
端口进而来连接A机器的22端口。 如果要做成开启启动,可将以上脚本添加至
/etc/rc.local
脚本中。另外不止22端口,任意端口的投送应该都是可以的。