サービスの一部のユーザーがSFTPを使用してファイルをアップロードできるようにするサーバーがあります。ユーザーについて話すとき、ユーザーが誰であるか、何人がアクセスできるかがわかりません。
私は次のようにアクセスを設定しました:
PasswordAuthentication yes
。internal-sftp
の使用を強制されるグループsftp
に属しています。ChrootDirectory %h
である/srv/sftp/incoming
にサンドボックス化されます。/bin/false
です。このような範囲のユーザーのSFTPアクセスを保護するために他にできることはありますか?
マシンはArchLinuxを実行します。 Webサーバーはnginx
ですが、/srv/sftp/incoming
内のファイルはWebサーバーによって提供されません。内部使用のみです。
すべてのユーザーにSSHキーを設定できるため、ユーザーは秘密キーを使用してSFTPサーバーにアクセスする必要があります。クライアントが自分で秘密鍵と公開鍵を生成し、public鍵を送信できるようにして、~/.ssh/authorized_keys
ファイルに追加できるようにします。
もちろん、秘密鍵と公開鍵は自分で生成できますが、それはどういうわけか秘密鍵をクライアントに送信する必要があることを意味し、それが安全ではなくなります。
ssh-keygen -t rsa
キーが設定されている場合、/etc/ssh/sshd_config
でパスワードログインを無効にできるため、サーバーにアクセスするには秘密キーを使用する必要があります。
PasswordAuthentication no