1

この Perl スクリプトを手動で実行すると、接続を確立できます。しかし、システムに実装すると、次のように表示されますauthenticity of the target host can't be established, the remote host public key is probably not present on the '~/.ssh/known_hosts' file

これについて助けとアドバイスが必要です。

my $host = "xxxs.com";
my $sftp = Net::SFTP::Foreign->new($host,user => 'xxx', password => 'xxx',
                                   more => '-v',stderr_fh => $ssherr);
4

2 に答える 2

2

Net::SFTP::Foreign docのFAQを見てください。これは、ホスト キー チェックの下にファイルされ、最後のエントリです。ここに抜粋があります。

ホストキーのチェック

Q: パスワード認証を使用してリモート サーバーに接続すると、次のエラーで失敗します。

The authenticity of the target host can not be established,
connect from the command line first

A: これはおそらく、リモート サーバーからの公開鍵が に保存されていないことを意味します~/.ssh/known_hosts file。スクリプトと同じユーザーとしてコマンド ラインから SSH 接続を実行し、提供されたキーの確認を求められたら、yes と答えます。

そこにも例があります。

于 2012-06-20T07:51:03.717 に答える