私の意見では、実行中のコンピュータがssh server
アクセス権を持つ私のユーザー名へのマッピングを維持しているようです(私はリモートユーザーです)。ssh public key
しかし、私と他の人は、特定のローカルユーザーに代わってリモートシステムにログインすることができます。つまり、john.doe
ローカルユーザーを持つリモートシステムがあることを意味します。これは、あるユーザーを代理人のアクセス権を持つ複数のjohn.doe
ユーザーにマッピングすることを意味しますか?ssh public keys
john.doe
答え1
最も簡単な答えは「いいえ」です。
earth
例のシナリオ:あなた(Bob)は()でリモートホストに接続しようとしていますalice
。
alice
SSHは、どこか(Unix、Windows、タブレットなど)からホスト()のユーザー()に接続することですearth
。
(パスワードなしで)接続するときはbob
秘密鍵を使用します(Unixでは通常はにありますが、~/.ssh
どこにでも配置できます)。
リモートホストに関する事実は2つだけです。
alice
あなたは次に接続したいです- あなたは秘密鍵を所有していると主張します(あなたが秘密鍵から指紋を提供しました)。
earth
鍵の公開部分を所有するリモートホスト()は、秘密部分を持つ誰でも応答できる認証確認を発行します。チャレンジが完了したら、接続するだけです。
alice
この場合、あなたは承認された鍵の1つの秘密部分を所有していることを証明します。ただし、リモートホスト(earth
)は、あなたがBob、Igor、または他の人であるかどうかを知る方法はありません。
ユーザーのシナリオが完全に異なるWindowsまたはAndroidデバイスから接続できることに注意してください。
authorized_keys
このファイルには、接続できる公開鍵がリストされています(チャレンジ後)。
ファイルは次の場所にあります。
${HOME}/.ssh/authorized_keys
(基本)AuthorizedKeysFile
ファイルで指定されたすべての場所sshd_config
。望むよりman sshd_config
。
答え2
あなたの質問を完全には理解していませんが、johndoe
SSHキーをユーザーにマッピングする方法(パスワードなしでリモートサーバーにログインする権限を付与する方法)は、公開鍵の一部がファイルに含まれていることです。
~johndoe/.ssh/authorized_keys
リモートサーバーから。
ディレクトリに秘密鍵部分~/.ssh/
(fileなど)がある場合は、~/.ssh/id_rsa
次のコマンドを使用してリモートサーバーにパスワードなしでログインできます。
ssh johndoe@remoteserver
ローカルコンピュータのユーザー名に関係なく。
答え3
はい、Authorized_keys ファイルを使用して、秘密鍵を 1 人以上のユーザーに関連付けることができます。
Linuxサーバーが鍵ペアを認識して受け入れるには、公開鍵をサーバーにアップロードする必要があります。具体的には、ログインしたいユーザーのホームディレクトリに公開鍵をアップロードする必要があります。鍵ペアを使用してサーバー上の複数のユーザーにログインするには、各ユーザーに公開鍵を追加する必要があります。
サーバーユーザーの1人に対してSSH鍵認証を設定するには、そのユーザーのAuthorized_keysファイル内の新しい行に公開鍵を追加します。ファイルは、ユーザーのホームフォルダの下の.ssh /というディレクトリに保存されます。ユーザーのauthorized_keysファイルには複数の公開鍵を保存でき、各公開鍵は独自の行に表示されます。ファイルに複数の公開鍵が含まれている場合、リストされている各鍵の所有者はそのユーザーとしてログインできます。
源泉:https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/