8

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

4

1 回答 1

8

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

它的内容应该是:

[client]
user=the_user_name
password=the_password

请注意,任何可以读取此文件的人都可以使用这些凭据。保护它,以便只有所有者可以阅读它(如果您离开键盘,请锁定您的终端)。


如果您想要直接基于密钥的身份验证,您还可以使用SSL 客户端证书身份验证。您可以创建自己的小型 CA 并向自己颁发这些客户端证书。如果您需要直接远程访问,许多工具都支持这一点。

于 2012-05-09T23:49:02.883 回答