Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.2.4. キーベースの認証の使用

システムのセキュリティーをさらに強化するには、標準のパスワード認証を無効にして鍵ベースの認証を強制できます。これを行うには、vinano などのテキストエディターで /etc/ssh/sshd_config 設定ファイルを開き、PasswordAuthentication オプションを以下のように変更します。
PasswordAuthentication no
sshscp、または sftp を使用してクライアントマシンからサーバーに接続できるようにするには、以下の手順に従って認証鍵ペアを生成します。鍵はユーザーごとに別々に生成する必要がある点に注意してください。
Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 はデフォルトで SSH プロトコル 2 および RSA キーを使用します(詳細は 「プロトコルのバージョン」 を参照してください)。
重要
root として鍵ペアを生成しないでください。root のみがこれらの鍵を使用できるためです。
注記
システムを再インストールする前に、~/.ssh/ ディレクトリーをバックアップし、生成されたキーペアを保持します。root を含む、必要なユーザーの新しいシステムのホームディレクトリーに、バックアップデータをコピーします。

14.2.4.1. 鍵ペアの生成

以下の手順に従って、SSH プロトコルのバージョン 2 用の RSA 鍵ペアを生成します。
  1. RSA 鍵ペアを生成するには、シェルプロンプトで次のコマンドを実行します。
    ~]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/john/.ssh/id_rsa):
  2. Enter キーを押して、新しく作成されたキーのデフォルトの場所( ~/.ssh/id_rsa)を確認します。
  3. パスフレーズを入力します。プロンプトが表示されたら再入力して確認します。セキュリティー上の理由により、アカウントのログイン時に使用するパスワードは使用しないでください。
    この後、以下のようなメッセージが表示されます。
    Your identification has been saved in /home/john/.ssh/id_rsa.
    Your public key has been saved in /home/john/.ssh/id_rsa.pub.
    The key fingerprint is:
    e7:97:c7:e2:0e:f9:0e:fc:c4:d7:cb:e5:31:11:92:14 john@penguin.example.com
    The key's randomart image is:
    +--[ RSA 2048]----+
    |             E.  |
    |            . .  |
    |             o . |
    |              . .|
    |        S .    . |
    |         + o o ..|
    |          * * +oo|
    |           O +..=|
    |           o*  o.|
    +-----------------+
  4. ~/.ssh/ ディレクトリーのパーミッションを変更します。
    ~]$ chmod 700 ~/.ssh
  5. ~/.ssh/id_rsa.pub の内容を、接続するマシンの ~/.ssh/authorized_keys にコピーし、ファイルがすでに存在する場合はこれを最後に追加します。
  6. 以下のコマンドを使用して、~/.ssh/authorized_keys ファイルのパーミッションを変更します。
    ~]$ chmod 600 ~/.ssh/authorized_keys
SSH プロトコルのバージョン 2 用の DSA キーペアを生成するには、次の手順を実行します。
  1. シェルプロンプトで以下を入力して DSA 鍵ペアを生成します。
    ~]$ ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/john/.ssh/id_dsa):
  2. Enter キーを押して、新しく作成された鍵のデフォルトの場所( ~/.ssh/id_dsa)を確認します。
  3. パスフレーズを入力します。プロンプトが表示されたら再入力して確認します。セキュリティー上の理由により、アカウントのログイン時に使用するパスワードは使用しないでください。
    この後、以下のようなメッセージが表示されます。
    Your identification has been saved in /home/john/.ssh/id_dsa.
    Your public key has been saved in /home/john/.ssh/id_dsa.pub.
    The key fingerprint is:
    81:a1:91:a8:9f:e8:c5:66:0d:54:f5:90:cc:bc:cc:27 john@penguin.example.com
    The key's randomart image is:
    +--[ DSA 1024]----+
    |   .oo*o.        |
    |  ...o Bo        |
    | .. . + o.       |
    |.  .   E o       |
    | o..o   S        |
    |. o= .           |
    |. +              |
    | .               |
    |                 |
    +-----------------+
  4. ~/.ssh/ ディレクトリーのパーミッションを変更します。
    ~]$ chmod 700 ~/.ssh
  5. ~/.ssh/id_dsa.pub の内容を、接続するマシンの ~/.ssh/authorized_keys にコピーし、ファイルがすでに存在する場合はこれを最後に追加します。
  6. 以下のコマンドを使用して、~/.ssh/authorized_keys ファイルのパーミッションを変更します。
    ~]$ chmod 600 ~/.ssh/authorized_keys
SSH プロトコルのバージョン 1 用の RSA 鍵ペアを生成するには、以下の手順に従います。
  1. RSA 鍵ペアを生成するには、シェルプロンプトで次のコマンドを実行します。
    ~]$ ssh-keygen -t rsa1
    Generating public/private rsa1 key pair.
    Enter file in which to save the key (/home/john/.ssh/identity):
  2. Enter を押して、新規作成された鍵のデフォルトの場所(つまり ~/.ssh/identity)を確認します。
  3. パスフレーズを入力します。プロンプトが表示されたら再入力して確認します。セキュリティー上の理由から、アカウントへのログインに使用するパスワードと同じパスワードを使用しないでください。
    この後、以下のようなメッセージが表示されます。
    Your identification has been saved in /home/john/.ssh/identity.
    Your public key has been saved in /home/john/.ssh/identity.pub.
    The key fingerprint is:
    cb:f6:d5:cb:6e:5f:2b:28:ac:17:0c:e4:62:e4:6f:59 john@penguin.example.com
    The key's randomart image is:
    +--[RSA1 2048]----+
    |                 |
    |     . .         |
    |    o o          |
    |     + o E       |
    |    . o S        |
    |       = +   .   |
    |      . = . o . .|
    |       . = o o..o|
    |       .o o  o=o.|
    +-----------------+
  4. ~/.ssh/ ディレクトリーのパーミッションを変更します。
    ~]$ chmod 700 ~/.ssh
  5. ~/.ssh/identity.pub の内容を、接続するマシンの ~/.ssh/authorized_keys にコピーし、ファイルがすでに存在する場合はこれを最後に追加します。
  6. 以下のコマンドを使用して、~/.ssh/authorized_keys ファイルのパーミッションを変更します。
    ~]$ chmod 600 ~/.ssh/authorized_keys
システムにパスフレーズを記憶させる設定方法については 「ssh-agent の設定」 を参照してください。
重要
秘密鍵を任意のボディーと共有しないでください。これは個人使用のみを目的としています。