GNU/Linux >> Linux の 問題 >  >> Linux

キーを使用してLinuxでパスワードなしのSSHログインを設定する方法

Linuxオタクの皆さん、Linuxシステムはパスワードではなくキーを使用してssh接続することをお勧めします。 SSH(Secure Shell)キーは、LinuxおよびUNIXライクなサーバーにログインするための安全な方法を提供します。 SSHキーを使用してLinuxシステムにアクセスする場合、パスワードなしのssh認証とも呼ばれます。

この投稿では、Linuxでキーを使用してパスワードなしのSSH認証を設定する方法を学習します。

ラボのセットアップの詳細:

  • ジャンプホスト(Rocky Linux)— SSHクライアント— 192.168.1.135
  • リモートLinuxシステム(Ubuntu 20.04)— 192.168.1.130

手順を詳しく見ていきましょう。

ステップ1)ssh-keygenコマンドを使用してJumpホストでSSHキーを生成します

ジャンプホストにログインします。私の場合は「sysadm」を使用しています。 ssh-keyenコマンドを実行して、rsaアルゴリズムを使用してsysadmの公開鍵と秘密鍵を生成します

$ ssh-keygen -t rsa

このコマンドは、公開鍵と秘密鍵のパスを入力するように求めるプロンプトを表示します。デフォルトのパスを維持する場合は、Enterキーを押し、パスフレーズの設定を求めるプロンプトが表示されたらEnterキーを押します。

ssh-keygenコマンドの出力は次のようになります

注:デフォルトでは、ssh-keygenコマンドは2048ビットのサイズのキーを生成します。キーのサイズを変更する場合は、「-b」オプションに続けてビット単位のサイズを使用します。例を以下に示します

$ ssh-keygen -t rsa -b 4096

ステップ2)ユーザーの公開鍵をリモートLinuxシステムにコピーする

「ssh-copy-id」コマンドを使用して、ユーザーの公開鍵をリモートLinuxシステムユーザーのauthorized_keysファイルにコピーします。

構文:ssh-copy-id @

$ ssh-copy-id [email protected]

出力

ステップ3)パスワードなしのssh認証をテストする

次に、ジャンプホストからリモートシステムをSSH接続してみます。

$ ssh [email protected]

出力、

上記の出力は、パスワードを指定せずにリモートシステムにログインできることを示しています。

パスワードなしの認証を設定する際に考慮すべき重要なポイントは次のとおりです。

  • キーを交換してテストしたら、rootログインとrootおよび他のユーザーのパスワードベースの認証を無効にする必要があります。

これを実現するには、「/ etc / ssh / sshd_config」ファイルを編集して、次のパラメータを設定します。

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes

ファイルを保存して終了し、以下のsystemctlコマンドを使用してsshサービスを再起動します。

$ sudo systemctl restart sshd
  • もう1つの重要な点は、リモートユーザー(この場合は「kadmin」)がsudoグループの一部であり、管理タスクを実行できるように管理者権限を持っている必要があるということです。

この投稿からのすべてです。参考になると思います。質問とフィードバックを下のコメントセクションにドロップしてください。

また読むLinuxでの10のiftopコマンドの例


Linux
  1. CentOS8でSSHキーを設定する方法

  2. パスワードでSSHログインを無効にする方法

  3. LinuxでパスワードなしのSSHを設定する方法

  1. UNIX / Linux で SSH を使用して Rsync をセットアップする方法 (パスワードなしの rsync)

  2. Linux でリバース SSH トンネルをセットアップする方法

  3. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  1. CentOS/RHEL で「パスワードレス」SSH ログイン用の SSH キーをセットアップする方法

  2. Linux で SSH の「公開/秘密鍵」ログイン用の SSH キーをセットアップする方法

  3. UNIX / Linux で SSH を使用してパスワードなしで Rsync をセットアップする方法は?