鍵ベースの認証をSFTPアクセスのみに安全に制限する

鍵ベースの認証をSFTPアクセスのみに安全に制限する

~/.ssh/authorized_keys進行中のSFTPサーバーを強制して、ファイル転送のみを許可するようにインストールされているキーを制限できます。

command="internal-sftp" ssh-rsa AAAAB3NzaC1...(the key follows)

ただし、SFTP接続を使用すると、新しいバージョンをauthorized_keysサーバーに送信したり、制限を削除したり、新しいキーを追加したりすることができます。これで対話型接続を作成できます。

このような可能性があるため、ファイル転送は非常に危険です。これを防ぐ方法はありますか?たとえば、~/.ssh/使用中のアイテムへのアクセスを無効にしますかinternal-sftp

答え1

この問題を解決する他の方法があるかどうかはわかりません。少なくともテストに使用するLXCコンテナでは見つかりませんでした。

rootユーザーとして chattr +i .ssh/authorized_keys

これにより、ユーザーはファイルを変更できません。

別の可能なアプローチは、authorized_keysの場所を変更するか、スクリプトを使用してそれを見つけることです。これにより、ユーザーはキーを変更できません。

または、3番目のオプションはssh証明書を使用し、sftpユーザーの証明書にのみコマンドロックを設定し、そのロックを持たない2番目の証明書を使用することです。

関連情報