搭建SSH反向隧道

薄洪涛6年前Linux1267

公司的数据库是通过端口转发来连接的,即需要ssh登录跳板机,然后通过隧道-端口转发,将数据库映射到跳板机(或者电脑本地)的某个端口,程序连接本地的端口就可以实现连接远程对的数据库;这种连接方式相比VPN来说更加安全;

一般来说,我们的数据库主机都是内网机器没有公网ip,需要通过跳板机(有公网ip)去连接,就是把内网数据库的端口映射到跳板机上;

准备步骤:

1、假设我有两台主机,一台是主机A(必须有公网IP 用户名是usera),一台是主机B(内网,用户名是userb)

2、首先我需要在B上生成SSH秘钥

ssh-keygen -t rsa -C "BoHongtao@yeah.net"

深度截图_选择区域_20190310112017.png

然后在将生成的秘钥添加到跳板机,xxxx是B主机的IP

ssh-copy-id userb@xxxx -p B主机的ssh端口

执行上述命令后,会要求输入B主机的密码

深度截图_选择区域_20190310114401.png

3、配置A主机:跳板机A需要更改/etc/ssh/sshd_config,添加如下代码

GatewayPorts yes

深度截图_选择区域_20190310114522.png

重启sshd服务

service sshd restart

深度截图_选择区域_20190310114558.png

4、配置B主机:B主机安装一个AutoSSH

apt-get install autossh

然后配置转发端口,xxx是B主机的IP

autossh -M 55555 -NfR 0.0.0.0:54321:localhost:5432 userb@xxxx

深度截图_选择区域_20190310115057.png

55555是随便写的(必须要可用),这行命令是将B主机的54321端口,映射到A主机的5432端口;

这样我们访问A主机的54321端口,会自动转发到B主机的5432端口

5、通过ssh命令连接B主机测试

ssh userb@xxxx -p 54321

xxxx是B主机的IP;


相关文章

mac下安装homebrew及开发工具

安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw...

centos8 新增服务

我在centos8上部署了一个java服务,使用java -jar xx.jar来启动服务,但是对于停掉服务,就得使用kill命令,所以想着把它做成个服务原始命令如下:/www/server/java...

mac免密登陆到阿里服务器

生成本地密钥ssh-keygen -t rsa   2. 拷贝 /Users/boht/.ssh/id_rsa.pub 内容到服务器的 /r...

centos上为php安装扩展

今天做了一个查询心跳数据的功能,相关的数据放在redis里面,我才用了yii框架链接redis的时候,线上服务器报Class yii\redis\Connection does not exist造成...

chmod引出的问题

chmod引出的问题

上传代码后,尝试访问出现如下错误先尝试对文件修改权限[root@host wechat.bohongtao.online]# chmod -R 755 ...

高负载均衡haproxy的搭建

高负载均衡haproxy的搭建

目的:做负载均衡步骤:做两台nginx服务器,一台haproxy转发器首先安装nginx1.安装相关的依赖包。yum install gcc -c++ yum ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。