我需要建立一个SSH隧道,以便本地PHP脚本能够连接到远程服务器上的MySQL服务器。
Remote machine: MySQL (127.0.0.1:3306) on Linux (SSH port 44422)
Local machine: Linux (Debian Squeeze)
问题是它不允许我连接这个命令:
ssh -oPort=44422 user@ip_address
如何建立一个SSH隧道,以便我的PHP脚本能够连接到远程MySQL?
(如果您认为另一种连接方法,例如通过PHP脚本建立SSH隧道更好,请告诉我。)
提前感谢!
编辑:我忘了提到SSH有一个单独的用户名/密码
我有一个由ansible-playbook -u <username> -k playbooks/example.yml从命令行手动运行的ansible攻略
上面的方法运行良好。它会提示我输入SSH密码并运行攻略。
The ansible version in my linux machine: 2.7.7
作为我的构建计划的一部分,我需要在竹子中运行它。在竹子中,我不能输入密码,因为它不会提示我。所以我希望将用户名和ssh密码作为参数作为命令的一部分进行传递。
我试过了
ansible-playbook playbooks/monitor-linux-node.yml -e
我已经尝试在我的linux服务器中启用SSH登录。它能很好地连接我的私钥。我还访问了/etc/ssh/ssh_config并编辑了如下字段:
PasswordAuthentication no
但当我使用putty或winSCP时,它仍然允许我通过用户名/密码登录。现在,我可以从用户/密码和SSH密钥登录,就安全性而言,这是毫无意义的。我还需要做什么才能只允许SSH登录?