web-dev-qa-db-ja.com

「500SSHが理解できません」エラーについてどうすればよいですか?

これに関連して 質問 AndroidとOSXの間のsftpingファイルについて、SFTPサーバーが500 SSH-2.0-<client program> not understoodで応答する条件を知りたいです。オンOSXコマンドライン、私はタイプします

sftp -oport=<port> <user>@<ip>

しかし、Android側では

500 SSH-2.0-OPENSSH_7.4 not understood

Androidで実行されているSFTPサーバーに接続するには、どのような構成を行う必要がありますか?

1
oarfish

それはSFTPサーバーではありません。それはFTPサーバーです。名前は似ているかもしれませんが、それらは2つのまったく異なる、無関係のプロトコルです。

  • FTPはプレーンラインベースのプロトコルです。
  • FTPSは「通常の」FTPですが、トランスポートとしてTLS(SSL)を使用します。
  • SFTPはSSHをトランスポートとして使用し、内部でも大きく異なります。

FTPは、プレーンな4文字のコマンド(例:USERFEAT)と数値の成功/エラー応答を使用します。一方、すべてのSSHおよびSFTPクライアント(およびサーバー)はSSH-2.0-[clientname]ヘッダーで始まり、その後バイナリプロトコルを話します。

一部のクライアント(WinSCP、FileZilla、lftp)は3つすべてをサポートしていますが、どちらを使用するかを正しく指示する必要があります。一方、sftpコマンドはSFTP専用であり、FTPサーバーでは使用できません。

6
user1686