
リモートシステムで一連のコマンドを実行する必要がありますが、Perlがログイン状態を維持するのに問題があります。 ssh または telnet コマンドはサービス アカウントでログインしており、パスワードがないため使用できません。以下でこれを試していますが、プログラムがシステムにsshsに入り、ctl + dを押して終了するまで終了しません。
system("ssh -qtt $server sudo cp /opt/uc4sand/bin/*.kstr /tmp/sand.kstr; sudo service uc4sand stop");
答え1
問題が解決しました。
my $ssh = Net::SSH::Perl->new(
$server,
user => 'user';
ssh_arges => {
identity_files => [ '/home/account/.ssh/id_rsa ' ]
debug => 1,
}
) or die "could not open connection $server";