書いたつもりでしたがどうやら書いていなかったのでsshのログインの際に平文のパスワードではなくrsa鍵を使用する方法です。
OSインストールの際にsshはインストールしているので
バージョン等をチェックします。
[test@testlinux ~]$ rpm -qa | grep ssh
openssh-4.3p2-82.el5
openssh-server-4.3p2-82.el5
openssh-clients-4.3p2-82.el5
[test@testlinux ~]$
opensshの4.3がサーバ、クライアント共に入っています。
sshサーバの設定ファイル(/etc/ssh/sshd_config)を編集します。
root権限が必要なのでrootになってります。
[test@testlinux ~]$ su –
[root@testlinux ~]# vi /etc/ssh/sshd_config
必要な部分のみ抜粋
RSA認証部分のコメントアウトを外します。
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
↓
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
パスワードでのログインを禁止します。
PasswordAuthentication yes → no
後はデフォルトのままで問題ありません。
sshdの再起動を実施すれば変更した内容が反映されます。
ただし、作業はまだ全て終わっていないので再起動はしないで下さい。
鍵の作成をこの後実施しますがコンソール接続ができなければサーバからクライアントへの渡す手段がなくなってしまう可能性があります。
■鍵の作成
サーバ側でrsaキーを作ります。
今回はパスフレーズ無しで作っています。
ログインを実施するユーザーにて作業を実施して下さい。
今回はサンプルとしてtestというユーザーで実施しています。
まずは鍵を保存するフォルダを作成し作業フォルダに移動します。
権限は700にして下さい。
[test@testlinux ~]$ mkdir .ssh
[test@testlinux ~]$ chmod 700 .ssh
[tst@testlinux ~]$ cd .ssh
鍵作成コマンドの実施
[test@testlinux .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/test/.ssh/id_rsa.
Your public key has been saved in /home/test/.ssh/id_rsa.pub.
The key fingerprint is:
1f:99:ea:a0:61:83:ca:a5:7c:da:03:84:a4:c0:1a:cd test@testlinux
上記に表示されているフォルダ「/home/test/.ssh」に
公開鍵 (id_rsa.pub) と秘密鍵 (id_rsa) が作成されます。
後でファイル名等は変更しますが、どうしても名前や保存場所を変えたい場合はsave場所の質問の際に
Enter file in which to save the key (/home/test/.ssh/id_rsa):
任意の場所とファイル名を指定して下さい。
[test@testlinux .ssh]$ ls
id_rsa id_rsa.pub
公開鍵 (id_rsa.pub) をsshd_configに書いてある形式に変更します。
[test@testlinux .ssh]$ mv id_rsa.pub authorized_keys
※既にauthorized_keysがあり鍵を追加する場合は公開鍵 (id_rsa.pub)を書き足していきます。
[test@testlinux .ssh]$ cat id_rsa.pub >> authorized_keys
authorized_keysに追記したらid_rsa.pub は不要なので削除します。
[test@testlinux .ssh]$ rm id_rsa.pub
次に秘密鍵 (id_rsa) をクライアント側に送ります。
今回はsftpで取得させました。
ファイル名はid_rsaですが任意の名前にして結構です。
私は今回はid_rsa_testlinuxという名前にしました。
秘密鍵がきちんとクライアントに保存されたらsshdの再起動を実施して下さい。
もし失敗してログインできなくなったらと心配がある場合はsshd_configの
パスワードでのログインをできる状態にしておいて、鍵でのログインが問題
ない事を確認してからパスワードログインを禁止して下さい。
◎再起動コマンド
[root@testlinux ~]# /etc/init.d/sshd restart
■クライアントからの接続確認
ターミナルソフトはteratermやputty等の有名なものから無名なものまで
さまざまありますが今回はとりあえずteratarmで実施します。
SSH2での接続にし、SSH認証画面に移ります。
ユーザー名を入力し、RSA/DSA鍵を使うのチェックボックスにし秘密鍵のクリックします。
そして先ほどダウンロードしてきた秘密鍵のフォルダを開きます。
名前を変えた場合、秘密鍵ファイルタブでは表示されませんので、全てのファイルで表示
させて下さい。
鍵を選択したら「OK」でログインできるはずです。
※今回はパスフレーズを無しにしているのでパスフレーズは要りません。