如何通过Windows 10 Open SSH客户端自动登录(预存密码)?[Putty 或 BitVise SSH 不是一个选项!]

ber*_*aut 1 ssh unix-socket windows-10

最近我们的网络托管商(Domainfactory)更改了从外部访问我们的在线 mysql 数据库的方法。从简单的 ssh“端口转发”到“unixocks 隧道”。

ssh 调用如下所示(并且它有效!):

ssh -N -L 5001:/var/lib/mysql5/mysql5.sock ssh-user@ourdomain.tld

问题是:每次都必须输入密码。

过去,我使用 BitVise SSH 客户端创建配置文件(其中还存储加密密码)。只需双击个人资料,您就会自动登录。

不幸的是,“BitVise SSH 客户端”和“Putty”(plink.exe) 都不支持“Unixocks 隧道”功能/扩展,所以我不能再使用这些工具了。

有谁知道如何实现自动登录(脚本,工具,等等)?

访问数据库的员工无论如何都不能知道SSH密码!

ber*_*aut 5

我得到了一个解决方案。诀窍是在客户端(Windows 机器)调用“ssh-keygen”生成 SSH 密钥对(私有和公共)。重要提示:不要使用密码保护 ssh 密钥(如果要求您输入密码,只需按 [enter],否则每次尝试 SSH 时都会要求您输入 SSH 密钥密码)。将在“c:\Users\your_user\.shh\”内生成两个文件:“id_rsa”(私钥)和“id_rsa.pub”(公钥)。

在服务器端,在用户的主目录中创建一个“.shh”目录。在“.ssh”目录内创建一个名为“authorized_keys”的简单文本文件。将“id_rsa.pub”的内容复制到此文件中(不幸的是“ssh-copy-id”在 Windows 上尚不可用。因此您必须自己进行复制和粘贴操作。)设置“authorized_keys”的权限文件到“600”。

现在您应该能够通过调用“ssh-user@ourdomain.tld”简单地通过 SSH 连接到您的服务器,而无需输入密码。使用您的个人 ssh 调用创建一个批处理文件,然后就完成了。

感谢 Scott Hanselman 的教程:https://www.hanselman.com/blog/how-to-use-windows-10s-builtin-openssh-to-automatically-ssh-into-a-remote-linux-machine