【linux】ssh代理+常驻服务 直连现网数据库

标题写了半天还是没写明白

不重要,不重要

前景摘要:现网数据库只能通过跳板机连接,虽然现有的sql管理工具支持ssh代理功能,但是代码处理还是比较麻烦的

比如go语言做数据监控,有没有工具我不知道,反正我不会,一直连不上现网数据库

所以准备搞搞代理,代码不行,机器搞定(鲁迅说过:不管黑猫白猫,能帮忙打扫卫生的就是好猫)

进入正题

window环境

可以用putty做代理有现成的链接,你们去尊重原创吧 https://blog.csdn.net/catoop/article/details/81478332

linux环境

ssh -fN -L【本地端口】:【现网ip】:【现网端口】 -p22 【跳板机账号】@【跳板机ip】

f 是说后台进行

N 是不执行远程命令.用于转发端口.

L是正向代理

 

执行完之后偶尔会报:Cannot assign requested address,不重要(我这人没有求知欲) 

执行 ss -ntl 

(射手 淦脑瘫了)

如果中间有你设置的端口说明成功了哈

然后直接连接本地的端口进行测试

mysql -h127.0.0.1 -P33061 -uroot -pmasaike

 

到这里会有个问题,这个代理连接可能会断,很难受,于是加了一个常驻服务,保持通畅连接

在/usr/lib/systemd/system 下面创建 txx_ssh.service 文件

往里面写入

[Unit]

Description=txx_ssh

After=network.target

[Service]

Type=simple

#开始命令

ExecStart=/usr/bin/ssh -fN -L【本地端口】:【现网ip】:【现网端口】 -p22 【跳板机账号】@【跳板机ip】

#重试时间

RestartSec=1s

#重试时间

Restart=always

KillMode=process

User=root

Group=root

[Install]

WantedBy=multi-user.target

保存,然后通过

systemctl status txx_ssh.service 

查看服务状态

systemctl start txx_ssh.service 

运行这个服务

运行成功后

ps -aux| grep ssh 

能看到进程一直在有台运行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值