Linuxサーバーにログインしているユーザーは、デフォルトアカウントで特定のリモートマシンにsshできる必要があります。リモートマシンでの認証は公開鍵を使用するため、サーバーでは対応する秘密鍵が利用可能です。
サーバーユーザーが実際に秘密キーを読み取れるようにしたくありません。基本的に、彼らがサーバーにアクセスできるという事実は、彼らにsshの権利を許可し、サーバーからそれらを削除することは、リモートマシンへの接続も許可しないはずです。
ユーザーが秘密キーへの読み取りアクセスを許可せずにssh接続を開くことを許可するにはどうすればよいですか?
これまでの私の考え:明らかにssh実行可能ファイルは秘密鍵を読み取れる必要があるため、それらの権利を持つサーバー上の別のユーザーの下で実行する必要があります。ssh接続が確立されたら、ユーザーに「転送」して、ユーザーがコマンドを入力してリモートマシンと対話できるようにします。
- これは良いアプローチですか?
- フォワードをどのように実装すればよいですか?
- ユーザーはどのようにして接続を開始できますか(つまり、キーの読み取り権限を持つユーザーによるsshの実行)?
- セキュリティの抜け穴はありますか?-ユーザーが別のユーザーとしてsshを実行できる場合、他のユーザーができること(秘密鍵の読み取りなど)をすべて実行できますか?
~/.ssh/authorized_keys
ファイルに新しい公開キーを追加できないようにする手段を講じていると思いますか?