Solaris のシステム管理 (セキュリティサービス)

ProcedureSolaris Secure Shell で使用する公開鍵と非公開鍵のペアを生成する方法

使用するサイトがホストに基づく認証またはユーザーの公開鍵認証を実装しているときは、ユーザーは公開鍵と非公開鍵のペアを生成する必要があります。追加のオプションについては、ssh-keygen(1) のマニュアルページを参照してください。

始める前に

ホストに基づく認証が構成されているかどうかをシステム管理者に確認します。

  1. 鍵の生成プログラムを起動します。


    myLocalHost% ssh-keygen -t rsa
    Generating public/private rsa key pair.
    …

    -t はアルゴリズムの種類で、rsadsarsa1 のいずれかです。

  2. 鍵が格納されるファイルのパスを指定します。

    デフォルトでは、RSA v2 の鍵を表すファイル名 id_rsa がカッコ内に表示されます。このファイルを選択するときは、Return キーを押します。代わりのファイル名を入力することもできます。


    Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<Press Return>
    

    文字列 .pub を非公開鍵のファイル名に追加すると、自動的に公開鍵のファイル名になります。

  3. 鍵に使用するパスフレーズを入力します。

    このパスフレーズは、非公開鍵を暗号化するときに使用されます。空文字列入力は極力避けてください。入力したパスフレーズは表示されません。


    Enter passphrase (empty for no passphrase): <Type passphrase>
    
  4. 確認のためにパスフレーズを再入力します。


    Enter same passphrase again: <Type passphrase>
    Your identification has been saved in /home/jdoe/.ssh/id_rsa.
    Your public key has been saved in /home/jdoe/.ssh/id_rsa.pub.
    The key fingerprint is:
    0e:fb:3d:57:71:73:bf:58:b8:eb:f3:a3:aa:df:e0:d1 jdoe@myLocalHost
  5. 結果を確認します。

    鍵ファイルへのパスが正しいことを確認します。


    % ls ~/.ssh
    id_rsa
    id_rsa.pub

    この時点で公開鍵と非公開鍵のペアが作成されました。

  6. 適切なオプションを選択します。

    • 管理者がホストに基づく認証を構成しているときは、ローカルホストの公開鍵を遠隔ホストにコピーする必要がある場合があります。

      遠隔ホストにログインできるようになっています。詳細については、「Solaris Secure Shell を使用して遠隔ホストにログインする方法」を参照してください。

      1. 次のコマンドを入力します (ただし、バックスラッシュなしで 1 行に入力)。


        % cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \
        'cat >> ~./ssh/known_hosts && echo "Host key copied"'
        
      2. プロンプトが表示されたら、ログインパスワードを入力します。


        Enter password: <Type password>
        Host key copied
        %
    • 使用するサイトで公開鍵によるユーザー認証が使用されているときは、遠隔ホストの authorized_keys ファイルに反映します。

      1. 公開鍵を遠隔ホストにコピーします。

        次のコマンドを入力します (ただし、バックスラッシュなしで 1 行に入力)。


        myLocalHost% cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost \
        'cat >> .ssh/authorized_keys && echo "Key copied"'
        
      2. プロンプトが表示されたら、ログインパスワードを入力します。

        ファイルがコピーされると「Key copied」というメッセージが表示されます。


        Enter password: Type login password
        Key copied
        myLocalHost%
  7. (省略可能) パスフレーズのプロンプトを減らします。

    手順については、「Solaris Secure Shell でのパスワードのプロンプトを減らす方法」を参照してください。詳細は、ssh-agent(1) および ssh-add(1) のマニュアルページを参照してください。


例 19–2 ユーザーに対して v1 RSA 鍵を確立する

次の例では、ユーザーが Solaris Secure Shell プロトコルの v1 を実行するホストと接続することができます。v1 ホストによって認証されるようにするために、ユーザーは、v1 鍵を作成後、公開鍵の部分を遠隔ホストにコピーします。


myLocalHost% ssh-keygen -t rsa1 -f /home/jdoe/.ssh/identity
Generating public/private rsa key pair.
…
Enter passphrase (empty for no passphrase): <Type passphrase>
Enter same passphrase again: <Type passphrase>
Your identification has been saved in /home/jdoe/.ssh/identity.
Your public key has been saved in /home/jdoe/.ssh/identity.pub.
The key fingerprint is:
…
myLocalHost% ls ~/.ssh
id_rsa
id_rsa.pub
identity
identity.pub
myLocalHost% cat $HOME/.ssh/identity.pub | ssh myRemoteHost \
'cat >> .ssh/authorized_keys && echo "Key copied"'