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密码!
我得到了一个解决方案。诀窍是在客户端(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
| 归档时间: |
|
| 查看次数: |
5835 次 |
| 最近记录: |