使用SSH私钥进行MySQL root登录?

hhh*_*hhh 8 mysql security authentication root ssh-agent

假设Mysql -dbs和管理员有一个不好的习惯来忘记密码(或者偏执,想要更多的创造性认证,而不仅仅是密码).是否有可能以Ssh-agent存储私钥的方式访问Mysql -root shell,然后我可以只登录"mysql -u root"(不输入密码或私钥和密码的组合)?

Bru*_*uno 8

您当然可以使用正常的SSH密钥身份验证登录到您的shell帐户,然后使用~/.my.cnf包含密码的文件.这将由mysql命令行客户端默认使用.

其内容应为:

[client]
user=the_user_name
password=the_password
Run Code Online (Sandbox Code Playgroud)

请注意,无论谁能阅读此文件都可以使用这些凭据.保护它,以便只有所有者才能读取它(如果你离开键盘就锁定你的终端).


如果要进行基于密钥的直接身份验证,还可以使用SSL客户端证书身份验证.您可以创建自己的小型CA并使用这些客户端证书进行自我发布.如果您需要直接远程访问,许多工具都支持此功能.