经过几个星期n次失败后,终于找到解决Navicat连接虚拟机的MySQL的方法(皇天不负有心人)。
方法有如下几种(我用的是第二种方法):
方法一:
vi服务器端的/etc/ssh/sshd_config
把PasswordAuthentication设成yes
重启ssh服务systemctl restart sshd
网上的一种方法,然而这个问题依然没有解决。(应该是我自己的问题)
方法二:
vi服务器端的/etc/ssh/sshd_config
找到#PermitRootLogin no将其修改为PermitRootLogin yes
方法三:
查看sshd是否正确在运行 netstat -anp | grep sshd
如果没有运行使用 service sshd restart 重启服务
方法四:
客户端使用 ssh -v root@192.168.0.120 查看登陆信息
提示“Permission denied, please try again.”
查看防火墙
/etc/init.d/iptables status
如果22端口被限制则无法登陆。
放开端口22
/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
我的问题是通过方法二解决的,具体操作如下:
首先,打开xshell,连接虚拟机,
接着,使用sudo和vim命令对sshd_config进行修改,
image.png
找到#PermitRootLogin no将其修改为PermitRootLogin yes
image.png
保存并退出(如果不放心可以重启ssh服务,命令systemctl restart sshd )
接着打开Navicat,连接虚拟机的MySQL
image.png
image.png
image.png
点击连接测试,可以看到连接成功(终于成功了,看到这一幕真的让人激动)
image.png
image.png
这样就完成了数据库连接。
补充一下:
不能只填常规或SSH,否则会出现如下错误:
1.只填常规不填SSH :
image.png
2.只填SSH不填常规 :
image.png