gpt4 book ai didi

perl - 从 UI 访问远程计算机时无法通过 shell 脚本 ssh 到远程计算机

转载 作者:行者123 更新时间:2023-12-02 14:35:42 25 4
gpt4 key购买 nike

我有一台 Linux 机器,我在其中创建了一个 cgi 脚本 (JarPatch.cgi),其代码如下所示:

#!/usr/bin/perl
use warnings;
print "Content-type: text/html\n\n";
system ("sh JarPatch.sh");

JarPatch.sh 的代码如下所示:
#!/bin/bash

echo "Inside jar patching tool";

PJS_DEV=app4915@slcai833.us.oracle.com;
ssh -f $PJS_DEV "cd /slot/ems4915/appmgr/tmp; echo stopping server ; ./find_stop_servers.sh;"

echo "Exit jar patching tool";

这个脚本基本上会关闭远程机器上运行的服务器

问题陈述是这样的:
当我通过 Linux 终端执行这个 cgi 脚本时。我可以看到 ssh 命令正在执行。服务器已关闭。

当我在浏览器中通过 Windows 机器访问 cgi 脚本时,会调用 shell 脚本,但 ssh 似乎不起作用。

任何人都可以给我一个指针来解决这个问题吗?
我是 perl/shell 集成的新手。所以也可能会遗漏一些小东西。
谢谢

最佳答案

当您从 Windows 机器 ssh 时,所有连接都以网络用户身份进行,该用户无权 ssh 进入远程机器。另一方面,当您从 linux 终端 ssh 时,您可以作为用户 ssh 进行 ssh 操作。这是因为 linux 用户在远程服务器上有它的 ssh key 。

您也可以尝试查看ProxyCommand这可能会来救援,但我不知道它将如何与 Windows 一起使用。

另一种方法是为 webuser 创建 ssh key 并将它们放入远程服务器,这将是安全风险。

关于perl - 从 UI 访问远程计算机时无法通过 shell 脚本 ssh 到远程计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30411707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com