假设Mysql -dbs和管理员有一个不好的习惯来忘记密码(或者偏执,想要更多的创造性身份验证,而不仅仅是密码)。是否可以以Ssh-agent存储私钥的方式访问Mysql -root shell,然后我可以通过"mysql -u root"
登录(无需输入密码或私钥和密码的组合) )?
答案 0 :(得分:8)
您当然可以使用正常的SSH密钥身份验证登录到您的shell帐户,然后使用包含密码的~/.my.cnf
文件。这将由mysql
命令行客户端默认使用。
其内容应为:
[client]
user=the_user_name
password=the_password
请注意,无论谁能阅读此文件都可以使用这些凭据。保护它,以便只有主人才能读取它(如果你离开键盘就锁定你的终端)。
如果您想要基于密钥的直接身份验证,还可以使用SSL client-certificate authentication。您可以创建自己的小型CA并使用这些客户端证书进行自我发布。如果您需要直接远程访问,许多工具都支持此功能。