SSHへのポート転送では、FTPで「ls」を実行できません。

SSHへのポート転送では、FTPで「ls」を実行できません。

ローカルポートである21 FTPポートの転送中にSSHにログインすると、コマンドは次のようになります。

ssh -R 2101:localhost:21[Eメール保護]-p 8288

正常にログインした後、SSHは次のコマンドを送信しました。

ftp ikiw@localhost -p 2101

コマンドが正しく実行され、問題なくFTPに正常にログインしましたが、FTP中にコマンドに使用できるファイルのリストを表示したい場合、または次のlsエラーdirが発生します。

ftp: '::1:27394' に接続できません: 接続が拒否されました。

何が問題なの?コマンドを実行すると、FTPはランダムに新しいポートを生成しますかls

ローカルFTPをSSH / VPSに転送し、SSH / VPSからローカルコンピュータにFTPを正常に実行したいと思います。誰でも助けてソリューションを提供できますか?とても感謝しています! :D

答え1

FTPはひどいプロトコルです。はい、複数のポートを使用します。制御ポートがあり、すべてのデータ転送(lsまたはその他)getに対して2番目の新しいランダムポートが開きます。

さらに悪いことは、PASVを使用するのかアクティブモードのFTPを使用するのかによって仕える人接続を開始できます。

FTPがこれらの転送を処理することは容易ではありません。 SSH接続になっていて使えませんかsftp?これはSSHに直接組み込まれたFTPに似たプロトコルなので、ポート転送は必要ありません。

答え2

FTPはIP6を使用しようとしているようですが、IP4を介してのみトンネリングしています。 -4オプションを使用してftpを起動してみてください。

関連情報