用Navicat_SSH 连接数据库服务器
SSH设置(只限于Mysql、oracle、PostgreSQL及 SQL Server 并只支持 SSH2通讯协定)
Secure SHell(SSH)是一个通过网络登录其他计算机的程序,在远程服务器运行命令,和从一台机器移动文件到另一台。在不安全的网络中,它提供两台主机之间强大认证和安全加密的通讯,被称为SSH Port Forwarding (Tunneling)。通常情况下,它是使用为一个Telnet的加密版本。
在一个Telnet阶段作业,全部的通讯,包括用户名和密码,会用纯文本传输,让任何人都能监听你的阶段作业及窃取密码和其他信息,这种阶段作业也容易受到阶段作业劫持,一旦你验证,恶意用户就能接管这种阶段作业。SSH的目的是防止这种漏洞,帮允许你在不影响安全性的情况下访问远程服务器的shell。
SSH通道的好处
ssh有个几号的功能叫做SSH Port Forwarding, 有时也被称为ssh通道,它允许你创建一个安全性的阶段作业,然后通过它打开随心所欲的TCP连接,通道可以随时创建,几乎不需要任何努力及编程,这令它非常有魅力,在无数不同的方式,SSH Port Forwarding 可以用于安全通信。
许多提供服务器托管的托管公司会封锁托管公司以外访问服务器,只授权予访问给本机(localhost)用户连接。
使用 SSH 的多个好处:
@当服务器端口被封锁时,连接到使用了防火墙的服务器。
@自动验证用户,没有发送纯文本的密码,以防止窃取密码。
@多个强大的认证方法,防止安全威胁如欺骗的身份。
@安全和快速的加密和压缩数据。
@安全文件传输。
为确保进来的连接请求是由你发出,SSH 能够使用密码,或公开及私钥对(也称为公钥)验证机制。
@密码验证。
@公钥验证。
注意:请确保在Linux 服务器的参数 -「AllowTcpForwarding」设置值为「yes」,否则,会禁用 SSH port forwarding。要查找路径:/etc/ssh/sshd_config。在默认情况下,SSH port forwarding 应该已启用。请仔细检查该值的设置。
** 即使服务器支持 SSH 通道,然而,如果 port forwarding 被禁用,Navicat 就无法通过 SSH 端口 22 连接。
下面是一个密码验证的方法:
注:在【常规】中“主机名或IP地址”填localhost;“端口”填远端mysql服务器的mysql端口;“用户名”填远端mysql服务器的mysql数据库的用户名;“密码”填远端mysql服务器的mysql数据库的用户名的密码。