質問: 別のユーザーとのsshキー認証 いくつかのsshキーベースの認証で混乱しています。私が持っているとしましょう:host a: user tom .ssh tom_private_key tom_public_key host b: user shared .ssh shared_private_key shared_public_key ホストaからユーザーsharedとしてホストbにsshで接続したいと思います。sharedユーザーの秘密鍵をsshディレクトリにコピーしてから、-iパラメータを使用するか、ssh構成ファイルを設定して、ユーザーsharedとしてそのホストにsshしたときにsharedユーザーの秘密鍵が使用されていますか?秘密鍵をコピーせずにこれを行う方法はありませんか?そうは思いませんが、できれば秘密鍵をコピーするのは避けたいと思います。
回答: ホストbの~/.ssh/authorized_keysファイルに、共有アカウントにアクセスするすべてのユーザーの公開鍵を入力する必要があります。クライアントのみがユーザーの秘密鍵を必要とします。サーバーは、特定のアカウントへの接続が許可されている公開鍵のみを知っている必要があります。ユーザーが秘密鍵を共有したり(よく知られているvagrant秘密鍵は例示的な例外です)、ユーザーの秘密鍵をサーバーに配置したりする必要はほとんどありません。各秘密鍵は、各ユーザーに固有であり、クライアントマシンに残しておく必要があります。このベストプラクティスを無視しても、共有ユーザーの秘密鍵をサーバーに配置する必要はありません。秘密鍵のコピーを、その鍵を使用して共有アカウントに接続するすべてのユーザーに配布する必要があります。