最近,我们的网站主机(Domainfactory)改变了外部访问mysql数据库的方法。从简单的ssh“端口转发”到"unix短袜隧道“。
ssh调用看起来是这样的(而且它工作了!):
ssh -N -L 5001:/var/lib/mysql5 5/mysql5.sock ssh-user@ourdomain.tld
问题是:你必须每次输入密码。
在过去,我使用BitVise SSH客户端创建一个配置文件(它也存储加密的密码)。只要双击配置文件,你就会自动登录。
不幸的是,"BitVise SSH客户端“和"Putty”(plink.exe)都不支持"Unix隧道“特性/扩展,因此我不能再使用这些工具了。
有没有人知道如何实现自动登录(脚本、工具等)?
在任何情况下,访问数据库的员工都不能知道SSH密码!
发布于 2022-03-05 10:18:36
我有个解决办法。诀窍是在客户端(Windows机器)上生成一个SSH密钥对(私有和公共),调用'ssh-keygen‘。重要:不要使用密码保护ssh密钥(如果您被要求输入密码,只需按enter键,否则每次尝试SSH时都会被要求提供SSH密钥密码)。在'c:\Users\your_user.shh\':'id_rsa‘(私钥)和'id_rsa.pub’(公钥)中将生成两个文件。
在服务器端,在用户的主目录中创建一个“.shh”目录。在“.ssh”目录中创建一个简单的文本文件,名为“authorized_keys”。将'id_rsa.pub‘的内容复制到这个文件中(不幸的是,’ssh- Copy‘还不能用于Windows。所以你必须自己去复制和粘贴东西。)将“authorized_keys”文件的权限设置为“600”。
现在,您应该可以通过调用' SSH -user@ourdomain.tld‘来简单地将ssh输入到您的服务器中,而无需输入密码。使用单独的ssh调用创建一个批处理文件,您就完成了。
https://stackoverflow.com/questions/71340670
复制相似问题