私はperlとstackoverflowに少し慣れていません。もっと親しみやすい言語を使うことができれば、そうするでしょうが、残念ながら、特定の状況によりそれができません。助けてくれてありがとう。
インストールされていないモジュール: Net::SFTP、WWW::CURL、Net::SSH2、Net::SFTP::Foriegn インストールされているモジュール: Net::FTP
モジュールをインストールできません。
Net::FTP を使用できません デフォルトのポートとポート 22 をユーザー名とパスワードで試しました。接続しようとしたときに他のボックスのログから返されるのは、「xx.xx.xx.xx から識別文字列を受信しませんでした」ということだけです。また、コマンド ラインで FTP を使用できず、タイムアウトします。
$ftp = Net::FTP->new($box,Port=>22, Debug => 0)
or die print "Error: Cannot connect";
$ftp->login($userBox,$passBox)
or die print "Error: Cannot login";
$ftp->cwd()
or die print "Error: Cannot change to Root";
$ftp->cwd($dir)
or die print "Error: Cannot change to selected directory";
if($copyfile ne "" && $dir ne "")
{
$ftp->put($copyfile, $copyfile);
}
$ftp->quit();
FTPではなくLinuxコマンドラインからSFTPを手動で使用できるため、システムコマンドを使用して他のボックスにSFTPを送信しようとしています。他のボックスのログには、「xx.xx.xx.xx によって接続が閉じられました」とだけ表示されます。
system('sftp '.$userBox.'@'.$box.' ENDOFINPUT'
.$passBox.'ENDOFINPUT
cd ../../../
put '.$filename.' '.$dir.'
exit
ENDOFINPUT');
誰かが私の問題を解決する方法を知っていれば、それは素晴らしいことです:)