autossh反向隧道

Posted 何波安的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]
	
	运行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 [email protected]
		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端口,就方便外网用户访问

  

以上是关于autossh反向隧道的主要内容,如果未能解决你的问题,请参考以下文章

AUTOSSH设置ssh隧道,实现反向代理访问内网主机

ssh隧道理解

scp 通过 ssh 隧道打开

用autossh 保证ssh隧道稳定性

SSH反向连接及Autossh

[转]SSH反向连接及Autossh