我想征求您的意见,我们有一个有点复杂的网络设置,我需要连接到几十个linux盒,有时还需要对它们进行远程重新引导,但是在我甚至可以连接到目标linux框之前,我必须先登录到两个服务器,然后才能连接到目标linux框,给出一个例子:
ssh to server 1
- usr/pwd
-- ssh to server 2
--- ssh to target linux box
- usr/pwd
- sudo reboot
有办法绕过这条路吗?
我有一个使用ubuntu14.04的VM。在窗户上跑。如果我使用VM桌面上的终端,我可以使用注册的SSH密钥连接到我的服务器,而不需要密码。
当我使用ssh客户端从窗口连接到VM时,我无法在没有密码的情况下登录服务器。
Linux(VM) ---> Server | Authentication with SSH keys works
SSH session ---> Linux(VM) ---> Server | Ask for the server password.
当我远程连接时,它如何使用在VM中注册的SSH密钥?
我需要建立一个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有一个单独的用户名/密码
我正在尝试用perl SSH2连接到我的work linux box,使用我在互联网上找到的代码。当我运行它时,它返回unable to connect to host。谁能告诉我如何找到要放入ssh2 ->连接的主机。我假设myusername-lnx是正确的,因为这是我在linux机器上运行>hostname时得到的结果。我应该使用输出格式>hostname还是其他什么。如果hostname的输出是正确的,那么使用任何其他建议来说明我可能做错了什么,这将导致ssh2->连接无法工作。
#!/usr/bin/perl
use warnings;
use strict;