为了安全起见,很多公司服务器数据库的访问多半是要做限制的,由专门的DBA管理,而且都是做的集群,数据库只能内网访问,所以就有一个直接的问题是,往往多数时候,在别的机器上(比如自己本地),是不能访问数据库的,给日常开发调试造成了很大不便。最近几天在做Python相关项目,有个需求 ,是希望在任何机器上都可以ssh到某台在数据库白名单的机器上,然后访问数据库,不然的话就要去服务器安装Python环境,运行程序,比较麻烦,翻阅多篇博客文章,决定自己去实现。
涉及库:pymssql、sshtunnel
涉及数据库:SQLSERVER
场景如下:
跳板机核心代码
def __get_ssh_connector(self):
# 远程连接
# 跳板机地址 端口,服务器账号,密码配置
server = SSHTunnelForwarder(
(
self.connect_config.get("ssh_host", ‘白名单服务器地址’),
self.connect_config.get("ssh_port", 22)
),
ssh_userna