使用するサイトがホストに基づく認証またはユーザーの公開鍵認証を実装しているときは、ユーザーは公開鍵と非公開鍵のペアを生成する必要があります。追加のオプションについては、ssh-keygen(1) のマニュアルページを参照してください。
ホストに基づく認証が構成されているかどうかをシステム管理者に確認します。
鍵の生成プログラムを起動します。
myLocalHost% ssh-keygen -t rsa Generating public/private rsa key pair. … |
-t はアルゴリズムの種類で、rsa、dsa、rsa1 のいずれかです。
鍵が格納されるファイルのパスを指定します。
デフォルトでは、RSA v2 の鍵を表すファイル名 id_rsa がカッコ内に表示されます。このファイルを選択するときは、Return キーを押します。代わりのファイル名を入力することもできます。
Enter file in which to save the key (/home/jdoe/.ssh/id_rsa):<Press Return> |
文字列 .pub を非公開鍵のファイル名に追加すると、自動的に公開鍵のファイル名になります。
鍵に使用するパスフレーズを入力します。
このパスフレーズは、非公開鍵を暗号化するときに使用されます。空文字列入力は極力避けてください。入力したパスフレーズは表示されません。
Enter passphrase (empty for no passphrase): <Type passphrase> |
確認のためにパスフレーズを再入力します。
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 |
結果を確認します。
鍵ファイルへのパスが正しいことを確認します。
% ls ~/.ssh id_rsa id_rsa.pub |
この時点で公開鍵と非公開鍵のペアが作成されました。
適切なオプションを選択します。
管理者がホストに基づく認証を構成しているときは、ローカルホストの公開鍵を遠隔ホストにコピーする必要がある場合があります。
遠隔ホストにログインできるようになっています。詳細については、「Solaris Secure Shell を使用して遠隔ホストにログインする方法」を参照してください。
使用するサイトで公開鍵によるユーザー認証が使用されているときは、遠隔ホストの authorized_keys ファイルに反映します。
(省略可能) パスフレーズのプロンプトを減らします。
手順については、「Solaris Secure Shell でのパスワードのプロンプトを減らす方法」を参照してください。詳細は、ssh-agent(1) および ssh-add(1) のマニュアルページを参照してください。
次の例では、ユーザーが 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"' |