ssh-keygen を使用します 公開/秘密認証キー ペアを生成するコマンド .認証キーを使用すると、ユーザーはパスワードを入力せずにリモート システムに接続できます。キーは、ユーザーごとに個別に生成する必要があります。 root ユーザーとして鍵ペアを生成すると、root だけが鍵を使用できます。
ssh-keygen コマンドによる鍵の生成とパスワードレス ssh の構成
1. -t を使用します キーの種類を指定するオプション。例:
# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 3a:b8:10:71:b7:ee:66:15:0f:a2:b0:89:ef:65:0b:f0 root@geeklab The key's randomart image is: +--[ RSA 2048]----+ | | | | | . . . | | .o ...o | |...+ ...S+ | |.oo..o .. . | | .E + +. | | .= +o. | | .. oo. | +-----------------+
–t オプションを使用して、作成するキーのタイプを指定します。可能な値は
a. 「rsa1 」 プロトコル バージョン 1 の場合
b. 「ださ 」、「ecdsa 」、または「rsa」 」はプロトコル バージョン 2 の場合です。
2. キーの秘密部分を暗号化するパスフレーズを指定するオプションがあります。個人キーを暗号化する場合は、キーを使用するたびにパスフレーズを提供する必要があります。これにより、あなたの秘密鍵にアクセスできる攻撃者が、あなたになりすまして、アクセスできるすべてのコンピューターにアクセスするのを防ぐことができます。攻撃者は引き続きパスフレーズを提供する必要があります。
3. ステップ 1 の例の ssh-key コマンドは、~/.ssh ディレクトリに 2 つのキーを生成しました:
$ ls ~/.ssh id_rsa id_rsa.pub
4. パスワードを入力せずにリモート システムにログオンまたはファイルをコピーするには、公開鍵 (~/.ssh/id_rsa.pub この例では) ~/.ssh/authorized_keys に リモートシステム上。リモート ~/.ssh ディレクトリのパーミッションを 700 に設定します .複数の接続を許可するには、公開鍵をコピーするのではなく、リモート システムのauthorized_keysファイルに追加します。次の例では、公開鍵を追加しています:
$ cat id_rsa.pub >> authorized_keys
5.その後、ssh または scp ツールを使用して、パスワードを入力せずにリモート システムにアクセスできます。
鍵ベースの認証の実施
1. 標準のパスワード認証を無効にし、キーベースの認証を強制することで、システムのセキュリティをさらに向上させることができます。そのためには、PasswordAuthentication を設定します いいえのオプション /etc/ssh/sshd_config で 構成ファイルは次のとおりです:
# vi /etc/ssh/sshd_config PasswordAuthentication no
2.これは許可しない キーが authorized_keys にないユーザー ssh経由で接続するサーバー上の特定のユーザーのファイル。接続が拒否され、次のメッセージが表示されます:
$ ssh remote_host Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
3. PasswordAuthentication の設定 はいのオプション
(デフォルト) は、ユーザーが認証にパスワードを使用することを許可します。