このハッカーニュースストーリー は、FTPの欠点についてのすべてです。 FTPをセットアップする唯一の理由は、それが簡単であることです。
私はすでにscp
について知っていて使用していますが、サーバーへのssh
アクセスを許可せずに誰かとファイルを共有したい場合があります。ファイルをアップロードおよびダウンロードできるようにしたいが、他には何もできないようにしたい。また、ファイルを1つのディレクトリに制限したい。また、接続をssh
のように暗号化したい。
これらの基準を満たすFTPの代替案は何ですか?
Proftpdには組み込みのsftpサーバーがあり、ファイル転送の目的でユーザーをsshdから完全に分離できます。完全に別のpasswdファイルを使用してさらに分離するように設定できます(実際に/ etc/passwdにユーザーがいない場合、sshでシステムにログインしてchrootを突破するのは困難です。 。)
また、proftpdを使用すると、chrootを実行して、sftpユーザーを一連のディレクトリに簡単に分離できます。
私たちはこのようなことをします:
LoadModule mod_sftp.c
<VirtualHost 10.1.1.217>
ServerName "ftp.example.com"
# from http://www.proftpd.org/docs/howto/NAT.html
MasqueradeAddress 1.2.3.4
PassivePorts 27001 27050
UseSendfile off
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth
AuthUserFile /etc/proftpd/AuthUsersFile
AuthOrder mod_auth_file.c
<IfModule mod_sftp.c>
Port 10022
SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
SFTPEngine On
SFTPLog /var/log/proftpd/sftp.log
SFTPHostKey /etc/ssh/proftpd-ssh_Host_rsa_key
SFTPHostKey /etc/ssh/proftpd-ssh_Host_dsa_key
MaxLoginAttempts 6
</IfModule>
</VirtualHost>
要件として「無料」を指定しなかったので、私はgrouplogicによるMass Transitパッケージを破棄します。それはおそらくほとんどの人にとって少々やり過ぎであり、価格帯の範囲外ですが、この機能スイートは驚くほど素晴らしいものです。 2台目のMass Transitサーバーを入手して、自動化を点灯させれば、いくつかのファイルを非常に高速に移動できます。
TLS暗号化を有効にして、pure-ftpdを使用できます。設定は非常に簡単です。設定ファイルで暗号化のコメント解除TLSオプションを有効にするには(1行のみ:))、ftpsを介して接続するようにクライアントを設定します。 (すべてのftpクライアントがftpsをサポートしているわけではないことを覚えておく必要があります)。
sftp
と同様のモードでssh
を使用するftp
を設定できます。
マシンにユーザーを1人以上作成でき(1人以上、各ユーザーがお互いのファイルにアクセスできるかどうかによって異なります)、Shell/bin/falseとchroot
各ユーザーにディレクトリを指定しますこれらのファイルが配置される場所。