使用ssh在另一个脚本中运行perl脚本
我有一个perl脚本,需要使用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'"); 但是每次脚本到达那一行时,我都会得到远程机器的提示,而脚本不会运行 如何修复此问题,使脚本在另一台计算机上自动运行而不显示提示 注意:我不需要密码和用户来连接到远程机器,我们已经解决了这个问题。为什么不将您的公
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更加冗长怎么样?