Uzak makineden bir SSH gerçekleştirmek zorundayım. Bu makinede, Net :: SSH :: Perl yani 'cmd' kodu aşağıdaki kodda $ ssh-> cmd komutunu kullanarak giriş yaptım. başka bir SSH (kullanıcı adı @ ana bilgisayar adı). Bu ikinci SSH'nin şifresini geçmek için bir yol var mı ve sonra bu ikinci uzak makinede komutu çalıştır. Ayrıca, ssh anahtar çifti girişleri veya sshpass gibi araçları kullanamıyorum. Birisi yardım edebilir mi?Perl'de SSH içinde ikinci SSH gerçekleştirme
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;
İlgili bir soru hatırlıyorum. Bunu gerçekten yapmak zorunda mısın ssh zincirlerinde? Neden tekrar ana bilgisayara ve ssh'e geri dönmeyelim? – zdim
İkinci uzaktan makineye ait SSH, sadece ilk uzak makineden yapılabilir – nebula
Ayrıca bkz. [Tekrarlanan ssh komutunda bash ve perl'de alıntı] (http://stackoverflow.com/questions/23597777/quoting-in-bash-and-perl -in-recursive-ssh-komutu) –