如何通过SSH隧道远程无密码连接mysql

如何通过SSH隧道远程无密码连接mysql

在服务器上,我已经进行了设置,root 不需要输入密码即可使用 mysql(凭据位于 ~/.mylogin.cnf 中)。现在我想通过 SSH 隧道远程连接到 mysql,并且我希望不需要输入密码。

# open the tunnel (I'm using local port 3305 because 3306 is already taken for some reason)
ssh server -L 3305:127.0.0.1:3306 -N

# now try to connect
mysql -h 127.0.0.1 -P 3305 -u root

但这行不通。错误说:错误 1045 (28000):用户“root”@“localhost”的访问被拒绝(使用密码:NO)

我究竟做错了什么?

答案1

您已经在 a 上设置了 mysql 凭据远程服务器并且你正在运行 mysql 客户端本地

请在 ~/.mylogin.cnf 中为 localhost 设置一个 mysql 实例,端口为 3305。

答案2

您还可以在命令末尾添加 -p 以获取密码提示。

答案3

您确定可以以 root 身份打开 ssh 连接吗?某些 Linux 发行版默认限制 root ssh 访问。检查/etc/ssh/sshd_config文件中的行

PermitRootLogin yes
PasswordAuthentication yes

相关内容