SSHキーを使用してSFTPを実行すると、userIdはどのように機能しますか?

SSHキーを使用してSFTPを実行すると、userIdはどのように機能しますか?

次のシナリオを理解しようとしています。

サーバーもあり、AサーバーもありますB

サーバーはSSHキーメカニズムを介してAサーバーにファイルをプッシュします。B

サーバーがBサーバーにプッシュされたファイルを受信すると、サーバーにプッシュされAたファイルのどのユーザーIDが表示されますかB

Bサーバーは特定のuserIdを使用してAサーバーにファイルをプッシュすることを許可できますか?では、どうすれば達成できますか?

Linuxではこの論理を知りません。

共有してください。

更新:BサーバーのuserID名はで、サーバーでも同じuserIDを使用したいですserverB。可能ですか?AserverB

ベストアンサー1

サーバーBは、サーバーAが特定のuserIdを使用してファイルをプッシュできるようにします。これは可能ですか?では、どうすれば達成できますか?

SSHキー認証を設定するたびにこれを実行します。特定のユーザーについてターゲットサーバーで。秘密鍵を安全に保管することは、ソースからのユーザーの責任です。または、authorized_keysユーザーが鍵を紛失した場合は、ターゲットサーバーの管理者に連絡して、そのファイルから公開鍵を削除する必要があります。

接続の両端にあるUID番号またはユーザー名は一致する必要はありません。理論的には、SSHクライアントは組み込みシステムにあり、ユーザーアカウントの概念がまったくない可能性があります。

複数の接続に同じキーペアを使用したり、各接続に別々のキーペアを使用したり、それらの間の組み合わせを使用したりできます。技術的に同じ公開鍵をサーバーBのすべてのユーザーアカウントに追加すると、その秘密鍵を持つユーザーはサーバーBのすべてのユーザーとしてログインできますが、これは一般的に非常に愚かです。

(サーバーBに残念なことが起こるたびに、他のすべてのユーザーは「私ではなく、自分のアカウントでログインしたマスターキーの所有者だったと思います」と言うことができます。

デフォルトでは、SSH鍵ペアの秘密鍵を持つ人は誰でもサーバーのアカウントにログインできます。これは同じ鍵ペアの公開部分をユーザーアカウントファイルauthorized_keysに追加します。接続がどこから来たのか、キー保有者が接続の反対側にあると主張するかにかかわらず

authorized_keysファイルに追加の制約を設定できます。特定のIPアドレスまたはホスト名から接続が来たとき、またはIPまたはホスト名のワイルドカードパターンに基づいている場合にのみ、キー認証が機能するように制限できます。詳細については、AUTHORIZED_KEYS FILE FORMATシステムの段落を参照してくださいman sshd。バージョンによって使用可能な正確なオプションが異なる場合がありますsshd

通常、クライアントユーザー名に制限することは意味がありません。サーバーは通常、SSH クライアントに要求するよりも、そのユーザー名を見つけるより良い方法がなく、クライアントがハッキングされ、それに対してうそをつく可能性があるためです。ユーザーが自分の秘密鍵を間違った手に入れることを許可しない限り、成功した鍵ベースの認証は、ユーザーがターゲットサーバーでその特定のアカウントを使用する権限を持っているという強力な証拠です。

したがって、あなたの場合、サーバーがserverAサーバーにプッシュファイルを使用し、コマンドがユーザーとして実行されると、コマンドはデフォルトのログインを介してサーバーにファイルを転送しようとします。serverBscp /some/files B:/some/directoryuserAscpuserAserverB

デフォルトは、コマンドにターゲット・ユーザー名を指定することで変更できます。scp /some/files userB@serverB:/some/directoryログインするとファイルが転送されます。userBserverB

ターゲットユーザー名は、SSHクライアント構成ファイルで指定することもできます。userAのファイルにその設定がある場合は、コマンドを実行したときなど、ログインしてファイルも送信されます。~/.ssh/configserverAscp /some/files serverB:/some/directoryserverBuserBuserAserverA

Host serverB
    User userB

おすすめ記事