Mac Catalina系统下SSH隧道访问MySQL报错求助
解决思路
一、处理ssh -N -L命令的Permission denied (publickey)错误
- 明确指定私钥路径:如果你的私钥不是默认的
~/.ssh/id_rsa,必须用-i参数指定,执行命令:ssh -i ~/.ssh/your_private_key_file -N -L 3336:127.0.0.1:3306 [USER]@[SERVER_IP] - 验证服务器端公钥配置:
- 确保本地公钥(对应私钥的
.pub文件内容)已添加到服务器的~/.ssh/authorized_keys文件中 - 服务器上的
.ssh文件夹权限必须是700,authorized_keys文件权限必须是600,可在服务器上执行:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 确保本地公钥(对应私钥的
- 检查私钥与公钥匹配性:执行
ssh-keygen -y -f ~/.ssh/your_private_key_file生成公钥,和服务器authorized_keys里的条目对比,确保完全一致 - 加载私钥到ssh-agent:执行
ssh-add -l查看已加载的私钥,如果目标私钥不在列表里,执行ssh-add ~/.ssh/your_private_key_file(若私钥有密码,会提示输入)
二、处理DBeaver的Specified private key cannot be converted错误
- 转换私钥为PEM格式:Mac Catalina默认生成的是OpenSSH格式私钥,DBeaver对该格式兼容不佳,执行以下命令转换:
按提示输入私钥密码(如果有的话),完成转换后重新在DBeaver中选择该私钥ssh-keygen -p -m PEM -f ~/.ssh/your_private_key_file - 确认私钥密码配置:如果私钥设置了密码,在DBeaver的SSH连接配置中,勾选
Use passphrase并正确输入密码,避免漏填导致验证失败 - 核对DBeaver SSH配置细节:
- 在SSH标签页中,
Authentication method选择Public Key - 确保
Private key字段指向的是转换后的私钥文件路径,不要选错文件
- 在SSH标签页中,
- 验证转换后的私钥可用性:用转换后的私钥重新执行
ssh命令,确认能正常连接服务器,排除私钥本身的问题
内容的提问来源于stack exchange,提问作者Maa
相关产品推荐
相关产品推荐

