autossh反向隧道
实验目标
有两台主机: hostA: 阿里云公网主机 hostB: 本地内网主机 需求实现: 在hostB上使用autossh将hostB的80的端口映射到hostA的8080,使得其他机器访问hostA的8080从而访问到hostB的80
实施步骤
1、登录内网hostB,生成密钥,并上传到hostA,实现hostB可以免密登录 配置免密登录 ssh-keygen -t rsa ssh-copy-id -i .ssh/id_rsa.pub user@hostA 运行80服务 yum install -y httpd systemctl start httpd 安装autossh wget http://www.harding.motd.ca/autossh/autossh-1.4c.tgz tar -xf autossh-1.4c.tgz cd autossh-1.4c ./configure make install 端口映射 autossh -p 22 -M 20522 -NR 8080:localhost:80 root@hostA ctrl +z 回到bash 参数说明: -p 22 :表明hostA的sshd端口是22,22可以省去不写 -M 20522 :通过20522端口监视连接状态,连接有问题就会自动重连 8080:映射到hostA的端口 localhost:80: hostB的服务端口 2、登录外网主机hostA 可以发现已经起来了端口20522和8080 # netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:20522 0.0.0.0:* LISTEN 8937/sshd: root tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 8937/sshd: root .... 这种情况下,我们可以在hostA搭建一个nginx反向代理8080端口,就方便外网用户访问
每天进步一点,加油!