SSHサーバーのインストールが完了したらサーバー管理者は各ユーザー用に独自の鍵セットを作成しサーバー側に公開鍵の設定を行います。以下のコマンド
でSSH2・RSAの鍵セットが作成されます。パスフレーズは字数に制限がありませんし数字や記号も使えますので通常のパスワードよりはるかに安全です。
~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): passphrase
Enter same passphrase again: passphrase
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
6f:5c:76:08:f7:e0:31:ce:3f:75:b1:21:a1:8f:f1:00 user1@SV1
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| E . . . |
| + = + = o |
| S = O + |
| + @ o |
| B o |
| . . |
| |
+-----------------+
~$ chmod 700 .ssh/ # 実際には上記コマンドの実行時に「.ssh/」は作成されパーミションも700に設定されていますが念のため。
~$ cd .ssh/
:.ssh:~$ mv id_rsa.pub authorized_keys # 公開鍵を名称変更する。
:.ssh:~$ chmod 600 authorized_keys # アカウントを所有するユーザー以外のアクセスを拒否するので安全性を向上させます。
これでサーバー側の設定は終了です。
次に「,ssh/」ディレクトリー内の秘密鍵「id_rsa」をクライアント用PC側に移動します。送る方法は種々ありますが、一般的にはFDDや
USB
メモリーなどにコピーしてクライアントに渡します。全て完了し動作が確認されたら「id_rsa」はサーバー側には不要ですが、念の為どこか安全なところ
保存しておきます。
以上ですが複数ユーザーがいる場合は同様の作業を各ユーザー毎に行います。尚、管理者「root」の場合は直接アクセス出来ませんのでユーザーとしてログインし「sudo」コマンドで操作するか、「su」コマンドで「root」にログインします。
※ authorized_keysが既に存在し別の公開鍵を追加したい場合には;
$ cat id_rsa.pub >> $HOME/.ssh/authorized_keys