私のコードで以下のステートメントを実行しようとすると、以下のエラーメッセージが表示されます。エラーメッセージのパスが存在しません。以下に示すように、パスは実際には/lib/perl5/site_perl/5.22/Expect.pmにあります。 Perlがパスに "usr"フォルダをどのように追加したかはわかりません。他のコードを実行しているときに同様のエラーメッセージが表示されます。CygwinでNet :: SSH :: Expectを使用しようとすると、「実行できません」ssh「No such file or directory」が表示されるのはなぜですか?
エラーメッセージは、受信:
が/usr/lib/perl5/site_perl/5.22/Expect.pmラインで "SSH" そのようなファイルやディレクトリをexecしていないことはできません173
私のコードのスニペット:
$ssh = Net::SSH::Expect->new(
host => "192.168.1.10",
user => 'username',
password => 'password',
raw_pty => 1,
log_stdout => 1,
no_terminal => 1,
);
my $login_output = $ssh->login();
は以下
Cygwinをインストールしたときにopensshパッケージをインストールしましたか? – ThisSuitIsBlackNot
私はOpenSSHの代わりにNet :: SSH :: Expectを使用しています – Jelani
Net :: SSH :: Expectは、sshプログラムがあなたのPATHにインストールされることを期待しています。 Cygwinのopensshパッケージは、usr/bin/ssh.exeを提供します。 openssh Cygwinパッケージをインストールしたかどうか聞いています。 – ThisSuitIsBlackNot