1
Kymair 2014-08-20 16:28:09 +08:00
|
2
DreaMQ 2014-08-20 16:42:29 +08:00
|
3
ETiV 2014-08-20 16:56:02 +08:00 1
在你内网机器上执行这么个命令:
ssh -fNR :${REMOTE_PROXY_PORT}:localhost:${LOCAL_PORT} -p ${REMOTE_SSH_PORT} -i ${REMOTE_SSH_KEY_FILE} ${REMOTE_USER}@${REMOTE_IP} -p ${REMOTE_SSH_PORT} 如果公网机器的 sshd 端口不是22, 需要用这个来指定. -i ${REMOTE_SSH_KEY_FILE} 私钥文件路径, 可以免密码登录. 当然你也可以建立一个 .ssh/config 配置, 这样 -p 和它后面的就都不用敲了, 直接写 host 别名即可. 他会创建从 {远程主机:PROXY端口 -> 本地主机:端口} 的一个映射. 默认的 sshd 配置, 这条命令会让公网机器只监听 127.0.0.1 的端口, 想要解开这个限制, 可以在 sshd_config 里加下面一行, 并重启公网服务器的 sshd: GatewayPorts yes # 还可以从 man sshd_config 里查到其他的参数, 使用 yes 是最简单的 这条命令可以让公网那台机器反代任何发起这条命令的机器所在局域网的端口, 只需要把 localhost 那段改成目标机器的IP就行. 另外, 如果你内网机器会时不时的换IP(电信经常这么干), 你还需要做一个 cronjob 去查看连接状态, 并且重连. 我不知道什么 supervisor 之类的会不会起作用, 你可以试试这个. |
4
Tink 2014-08-20 17:02:42 +08:00 via iPhone
proxychains
|
5
clino 2014-08-20 17:03:30 +08:00
socks 除了可以用 proxychains 还可以用 tsocks ,不过还是 proxychains 比较好用
|
6
decken OP @Kymair 简单来说就是我想借助这部能连外网的机器来进行上网,但是体验要和在这部机器上直接上网的体验差不多。
目前是情况是不能在利用这部机器来ssh远程服务器 |
7
webflier 2014-08-20 17:07:23 +08:00
apt-get install connect-proxy
|
8
clino 2014-08-20 17:11:41 +08:00 1
@decken 那就在这台机器上跑个shadowsocks server,本地跑个shadowsocks client,然后本地用 tsocks 或者 proxychains通过本地的 shadowsocks client来连就行了
其实我现在就在这么用 |
9
rrfeng 2014-08-20 17:11:57 +08:00 1
ssh 走 tcp 协议,所以可以 tcp 代理都可以代理 ssh。
socks 代理可以代理 ssh |
10
treo 2014-08-20 17:49:40 +08:00
请先搞清楚http ssh tcp socks socket。。
|
12
decken OP @rrfeng 我这里测试通过ssh方式建立的sock代理不能走ssh的流量,但是通过shadowsocks建立的代理可以正常使用ssh。
|