公開鍵sshでユーザーアカウントを認証する

公開鍵sshでユーザーアカウントを認証する

サーバーを取得しており、すべてのユーザーが秘密鍵を使用してアクセスできるようにしたいと考えています。

  • ユーザーはssh-keygen -t rsa公開鍵と秘密鍵をいくつか生成します。公開鍵は次の形式で提供されます:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDe++u83PipzF1YmdJ0/OI2ivt/lR7IED5gQ+IBuN97vayfazKKV8+NAGI3o+Qh1f7kCQk3J9km/9tIAPpWZQWZg95aPwkmx4QuYoI7kn/LLaOYtTgaAqU0z9TzP8k83Sth5D3ET4LnkNrfKUhiPQsN1+WnhRafEv3Hu3+mHU7d8KGVyI7yhRoGWFrmPGwobza0bDsjDrSo70TCcMja8UgUTabukUmF3oj92tVKQZ+doNn4x1084rPKfky+5WGXbcuXTZnmWZRDOMqHsXicXp2m0x26oYJ0lTUnAKzWt25t2weKn24ynZzBEFRJi8ndWG+BKFiQsbSlS8ntWtJ7+9vf test@test-PC

サーバーで、というアカウントを作成しましたtest承認そのような公開鍵をユーザーと共有しますtest

すでに行内に設定してありますsshd_config:

Protocol 2
Match User root
    PasswordAuthentication no
Match Group foreigners
    PasswordAuthentication no
Match all

AuthorizedKeysFile      .ssh/authorized_keys``

authorized_keysファイル内に公開キーを挿入する必要がありますか? その場合、そのキーを目的のユーザー (テスト) にバインドするにはどうすればよいですか?

答え1

アカウントにアクセスするすべてのユーザーの公開キーを、このユーザーのファイルtestにコピー/追加する必要があります。このファイルは、通常、(ここではホーム ディレクトリに展開され、通常は)authorized_keysにあります。~/.ssh/authorized_keys~//home/test/

やるべきことはそれだけです。

答え2

私が行うことは次のとおりです:

  • ユーザーが公開鍵/秘密鍵を作成したら、公開鍵をサーバーにエクスポートするために以下のコマンドを実行する必要があります。

    ssh-copy-id username@ip_address
    
  • サーバー上で/etc/ssh/sshd_configファイルを変更し、次の内容を追加する必要があります。

    Match User username
            AuthenticationMethods publicKey
    
  • すべてのユーザー向けであればAuthenticationMethods publicKey

  • その後、sshdサービスを再起動すると動作するはずです。

乾杯

関連情報