2
Net :: SSH :: Perlを使ってログインしたリモートマシンからSSHを実行する必要があります。つまり、以下のコードで 'cmd'が$ ssh-> cmdに渡されました。別のSSH(username @ hostnameと言う)です。この2番目のSSHのパスワードを渡し、この2番目のリモートマシンでコマンドを実行する方法はありますか? また、sshのキーペアログインやsshpassなどのツールも使用できません。助けてもらえますか?perlでSSH内で2番目のSSHを実行する
use Net::SSH::Perl;
my $hostname = "hostname";
my $username = "username";
my $password = "password";
my $cmd = <command to be executed on remote machine>;
my $ssh = Net::SSH::Perl->new("$hostname", debug=>0);
$ssh->login("$username","$password");
my ($stdout,$stderr,$exit) = $ssh->cmd("$cmd");
print $stdout;
私は関連する質問を思い出します。あなたは本当にこれを行う必要があります、チェーンでssh?なぜホストに戻り、もう一度それをsshしないのですか? – zdim
2番目のリモートマシンへのSSHは、最初のリモートマシンからのみ実行することができます – nebula
参照[再帰的sshコマンドでのbashとperlのクォート](http://stackoverflow.com/questions/23597777/quoting-in-bash-and-perl -in-recursive-ssh-command) –