搭建SSH反向隧道

薄洪涛6年前Linux1421

公司的数据库是通过端口转发来连接的,即需要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;


相关文章

高负载均衡haproxy的搭建

高负载均衡haproxy的搭建

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

Cannot establish FTP connection to an SFTP server.

Cannot establish FTP connection to an SFTP server.

今天想上传个JDK,惊奇的发现,FileZilla连接不上,出现如下错误;很明显,我用FTP协议与一台使用了SFTP的服务器建立连接肯定是不行的,所以要改变协议;解决方法如下:打开File-Site...

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

mac免密登陆到阿里服务器

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

centos放开防火墙443端口

查看是否开启443 firewall-cmd --zone=public --query-port=443/tcp开启firewall-cmd --zone=p...

chmod引出的问题

chmod引出的问题

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

发表评论    

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