快要放寒假了,为了在家里也能访问到内网服务,特地百度了下反向代理的使用方法。
首先准备一台拥有公共ip的服务器,设为A
,剩下的服务器设为B, C, D...
最简单的方法是
ssh -fCNR ${target_port}:localhost:${ssh_port} ${public_host_user}@${public_host_ip}
$target_port
: 是A
的一个端口,执行此命令时不能在A
上被占用$ssh_port
: 是B
的ssh端口,一般为22
-f
: 放到后台执行,如果不加是放到前台。
但这样有一个问题,ssh如果有一段时间没有任何操作,那么就会断开连接。所以要想办法让两个机器其中一个不断发心跳包。
解决方法1
修改sshd的配置。
sshd可以直接配置心跳包和重连次数。
解决方法2
写一个daemon
脚本解决问题
export public_host_user=root
export public_host_ip=a.b.c.d
export rinne=10668
直接配置私钥,如果不用私钥可以自行百度查找后台输入密码的解决方案。
#!/bin/bash
source ./pssh.sh
while :
do