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在另一个脚本中运行perl脚本_Perl_Ssh - Fatal编程技术网

使用ssh在另一个脚本中运行perl脚本

使用ssh在另一个脚本中运行perl脚本,perl,ssh,Perl,Ssh,我有一个perl脚本,需要使用ssh连接到另一台机器,然后运行另一个perl脚本。我试着用这句话: system("ssh $admin_server 'perl /Perl/scripts/capture_server_restarts_gse.pl $month $date'"); 但是每次脚本到达那一行时,我都会得到远程机器的提示,而脚本不会运行 如何修复此问题,使脚本在另一台计算机上自动运行而不显示提示 注意:我不需要密码和用户来连接到远程机器,我们已经解决了这个问题。为什么不将您的公

我有一个perl脚本,需要使用ssh连接到另一台机器,然后运行另一个perl脚本。我试着用这句话:

system("ssh $admin_server 'perl /Perl/scripts/capture_server_restarts_gse.pl $month $date'");
但是每次脚本到达那一行时,我都会得到远程机器的提示,而脚本不会运行

如何修复此问题,使脚本在另一台计算机上自动运行而不显示提示


注意:我不需要密码和用户来连接到远程机器,我们已经解决了这个问题。

为什么不将您的公钥复制到另一台机器上?这样你就得到了预先授权

关于如何使用ssh-keygen执行此操作


否则,您必须向ssh提供密码,这很棘手,因为ssh通常从tty获取输入,您必须使用密码配置脚本。

为什么不将公钥复制到另一台机器上?这样你就得到了预先授权

关于如何使用ssh-keygen执行此操作


否则,您必须向ssh提供密码,这很棘手,因为ssh通常从tty获取输入,并且您必须使用密码配置脚本。

ssh服务器可能被配置为始终运行一些自定义shell,而不是从客户端传递的命令

尝试从命令行运行一些简单的命令,例如:

  ssh server ls

不太可能的情况是,插入到系统参数中的perl变量可能包含一些需要更好转义的shell元字符。例如,$admin_server中的分号。

SSH服务器可以配置为始终运行某个自定义shell,而不是从客户端传递的命令

尝试从命令行运行一些简单的命令,例如:

  ssh server ls

不太可能的情况是,插入到系统参数中的perl变量可能包含一些需要更好转义的shell元字符。例如,$admin_server中有一个分号。

不需要,我已经更改了所有权限,它不是在询问密码。不需要,我已经更改了所有权限,它不是在询问密码。请先尝试基本调试,如打印而不是系统,或者“touch/tmp/this.is.me.debug”而不是perl脚本。还可以尝试为远程perl解释器提供一些开关,如-c和-w,以进行调试。让ssh更详细怎么样?首先尝试基本调试,比如打印而不是系统,或者“touch/tmp/this.is.me.debuging”而不是perl脚本。还可以尝试为远程perl解释器提供一些开关,如-c和-w,以进行调试。让ssh更加冗长怎么样?