概要 †
公開鍵暗号方式による認証のみを許可するSSH接続を実現します。
インストールし別端末からログイン出来るようにするまでの手順を示します。
サーバー手順1 †
- /etc/ssh/sshd_configを編集します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| -
!
-
!
-
!
-
!
-
!
-
!
-
!
| PermitRootLogin no
PasswordAuthentication yes
PermitEmptyPasswords no
RSAAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no
|
- SSHサーバーを再起動します。
1
|
| /etc/init.d/sshd restart
|
クライアント手順1 †
- puttygenを起動します。
- ParametersでSSH-2 DSAを選択します。
- [Generate]ボタンを押します。
- マウスを動かし続けてキーを作成します。
- パスフレーズを入力します。
- [Save public key]ボタンを使い、公開鍵を保存します。(以降「hoge.pub」)
- [Save private key]ボタンを使い、秘密鍵を保存します。(以降「hoge.ppk」)
- 何かしらの手段でサーバーへ公開鍵を渡します。
今回はFileZillaを使いSFTPで送りました。(送るのは公開鍵なので、メールなど安全性の低い方法でも構いません)
- [/home/ユーザ名]以下に[.ssh]というディレクトリを作成します。
- [.ssh]の権限を700に設定します。
- [.ssh]以下に先ほど作成した公開鍵(hoge.pub)をコピーします。
サーバー手順2 †
- 公開鍵の変換を行い登録します。
1
2
|
| ssh-keygen -X -f /home/ユーザ名/.ssh/hoge.pub >> /home/ユーザ名/.ssh/authorized_keys
chmod 600 /home/ユーザ名/.ssh/authorized_keys
|
- /etc/ssh/sshd_configを編集します。
1
2
| -
!
| PasswordAuthentication no
|
- SSHサーバーを再起動します。
1
|
| /etc/init.d/sshd restart
|
クライアント手順2 †
- PuTTYjpを起動します。
- [セッション]-[ホスト名]や、[SSH]-[認証]-[認証のためのプライベートキーファイル](hoge.ppk)を設定して接続します。
- ユーザ名を入力します。
- パスフレーズを入力します。
検証時の環境 †
- サーバー
- CentOS 5.4 x86
- OpenSSH_4.*
- クライアント
- Windows Vista Enterprise x86 SP2
- PuTTYjp 0.60