web-dev-qa-db-ja.com

OpenSSH sftp-serverを無効にしましたが、FileZillaは引き続きリモートファイルシステムにアクセスできます

無効にしましたsftp-server私のUbuntuコンピュータでは、以下のように。
編集/etc/ssh/sshd_configそしてこの行をコメントアウトする

#Subsystem sftp /usr/lib/openssh/sftp-server

別のコンピューターで、sftpコマンドを実行してサーバーに接続します。接続に失敗しました。

sftp [email protected]
subsystem request failed on channel 0
Connection closed

また、FileZillaを使用してそのコンピューターに接続します。 FileZillaはまだフォルダの内容をリストし、ファイルをダウンロードします...
FilezillaはURLを表示します:sftp://[email protected]

FilezillaがSSHサーバーに接続してファイルを転送するために使用した方法はどれですか?

2
shang12

FileZillaは内部でPuTTYPSFTPを使用します。 PSFTPには、sftpサブシステムを介したSFTPサーバーの起動に失敗した場合にSFTPサーバーを起動するフォールバックメカニズムがあります。

sftp-server/usr/lib/sftp-serverなどの一般的なパスとPATH/usr/local/lib/sftp-serverバイナリを検索します。これが、PSFTP/FileZilla(および私のWinSCPのような他のクライアント-詳細については SFTP要件ページ を参照)がsftpを無効にしてもSFTP接続を確立できる方法だと思います。サブシステム。

OpenSSH sftpでは、 -s switch を使用して同じことを実現できます。

-s subsystem | sftp_server

SSH2サブシステムまたはリモートホスト上のsftpサーバーのパスを指定します。 パスは、リモートsshdにsftpサブシステムが構成されていない場合に役立ちます。

例:

sftp -s /usr/lib/sftp-server [email protected]

SFTPを完全に禁止するには、sftp-serverバイナリを完全に削除する必要があります。


それは実際にはほとんど意味がありませんが。シェルアクセスを許可する場合(そうしないとフォールバックメカニズムが機能しません)、とにかくシェルアクセスを使用してより多くの(損傷)方法を実行できるため、SFTPを無効にすることは意味がありません。


フォールバックメカニズムは、基本的に、サブシステムメカニズムを備えていなかったSSH-1サーバーをサポートする方法として存在すると思います。しかし、それはあなたのような状況でも始まります。

0
Martin Prikryl