Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有可能';ssh链&x27;用phpseclib?_Ssh_Phpseclib - Fatal编程技术网

有没有可能';ssh链&x27;用phpseclib?

有没有可能';ssh链&x27;用phpseclib?,ssh,phpseclib,Ssh,Phpseclib,服务器不可见,它们隐藏在另一台服务器后面。为了使它们可见,您必须通过ssh登录到第一台服务器。一旦到了那里,就可以看到其他服务器,并且您可以从当前服务器(您刚刚登录/ssh'ed的服务器)ssh到它们 我希望能够在脚本的最后一台服务器上运行命令 是否可以使用phpseclib和运行命令将SSH连接到一个服务器,而不是从当前服务器连接到下一个服务器 在PHP手册页上的libssh2示例中,ssh2函数似乎是可能的,所以我希望这个库也能实现。有人有类似的要求吗 谢谢。您可以执行$ssh->exec(

服务器不可见,它们隐藏在另一台服务器后面。为了使它们可见,您必须通过ssh登录到第一台服务器。一旦到了那里,就可以看到其他服务器,并且您可以从当前服务器(您刚刚登录/ssh'ed的服务器)ssh到它们

我希望能够在脚本的最后一台服务器上运行命令

是否可以使用phpseclib和运行命令将SSH连接到一个服务器,而不是从当前服务器连接到下一个服务器

在PHP手册页上的libssh2示例中,ssh2函数似乎是可能的,所以我希望这个库也能实现。有人有类似的要求吗


谢谢。

您可以执行
$ssh->exec(“ssh”)user@domain.tld"ls-l",。我认为即使使用libssh2,你也不能做更多的事情。如果您可以更新您的原始帖子以包含一个示例?

libssh2有一个ssh2\u隧道功能,我假设您可以断开现有连接,指定后续主机,然后您将从原点隧道到中间框,然后是结束框(从中间框连接到)。密码身份验证很棘手,但使用密钥进行身份验证是可行的(更复杂),也更容易。我认为
ssh2\u tunnel
函数的工作方式与您想象的不同
ssh2\u tunnel
允许您通过
fputs()
fwrite()
向服务器发送未加密的数据。例如,你可以做
fputs($tunnel,“GET/HTTP/1.0\r\nHost:www.google.com\r\n\r\n”);fread(隧道,1024美元)但您必须在PHP中重新实现SSH,以使libssh2通过SSH隧道连接到SSH。这就是PHP的基本功能,因此您可以修改它以使用ssh_隧道。我将尝试更新我先前的答案,并演示如何在时间允许的情况下做到这一点。手动编写脚本很容易,但不是理想的脚本。试试这个:它使用ssh2,这是我之前提到的隧道函数,但是我们无法在windows框上访问libssh2。我尝试搜索二进制文件并进行设置,但失败了,不幸的是,我使用了带有linux服务器的windows工作站。我可以尝试一下,但它可能无法满足终端上所需的某些交互需求,这还需要在ssh/登录后运行每个命令,这并不理想。我更新了我的帖子,对libssh2的ssh2_隧道进行了评论,通过该库是可行的,我认为PHP手册页有示例;要添加多个命令?那么,关于auth only user/pass,或者我也可以使用密钥吗?对于auth For SSH,您可以使用sshpass或此处建议的任何方法:。适当的.ssh\id\u rsa文件中的公钥(具有适当的权限)也应该起作用。