搭建SSH反向隧道

薄洪涛6年前Linux1269

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


相关文章

php脚本以守护进程的方式运行

写了一个聊天室,需要手动执行php start.php start命令去启动workerman的握手程序,但是退出xshell后,进程会被杀掉,因为之前用过node的forever,感觉php应该也有...

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...

haproxy如何开启日志

默认haproxy是不记录日志的,但是调试的时候需要我们去记录日志,所以说一下日志的记录方法1.编辑 /etc/rsyslog.conf,放开如下代码,记住是udp# Provides&nb...

服务器:swap告警,系统异常报错

服务器:swap告警,系统异常报错

登陆自己的小服务器,用composer下载个东西,一直报killed[root@host voyager]# composer require tcg/voya...

实现SVN自动化部署

实现SVN自动化部署

当我们修改程序并通过SVN上传到服务器后,我们想立马刷新页面看到更改之后的效果,这时候就要用到SVN自动化部署了,所谓的自动化部署,就是当SVN提交后自动更新文件到项目目录现在我们从头来部署一遍,看到...

发表评论    

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