概要 †
公開鍵暗号方式による認証のみを許可するSSH接続を実現します。
インストールし別端末からログイン出来るようにするまでの手順を示します。
サーバー手順1 †
- sshをインストールします。
- /etc/ssh/sshd_configを編集します。
sshd_configは同設定値の上書きをしない挙動をするため、以下の設定がすでにある場合はコメントアウトする
(もしくは以下の設定を先頭に入れるか、既存のsshd_configを消して置き換える方法もあるが、いずれもリスクがある)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| -
|
!
-
!
-
|
!
-
!
-
!
-
!
-
!
-
!
-
|
|
!
| Port <任意>
ListenAddress 0.0.0.0
AllowUsers <許可ユーザー名>
AllowTcpForwarding no
X11Forwarding no
LogLevel VERBOSE
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
|
- SSHサーバーを再起動します。
クライアント手順1 †
- puttygenを起動します。
- ECDSA 256bit以上(古いクライアントで接続する可能性があるなどの場合は、RSA 3072bit以上)を選択します。
- [Generate]ボタンを押します。
- マウスを動かし続けてキーを作成します。
- パスフレーズを入力します。
- [Save public key]ボタンを使い、公開鍵を保存します。(以降「hoge.pub」)
- [Save private key]ボタンを使い、秘密鍵を保存します。(以降「hoge.ppk」)
- 何かしらの手段でサーバーへ公開鍵を渡します(shell, sftp, etc...)。
1
2
|
| mkdir ~/.ssh
chmod 700 ~/.ssh
|
- [.ssh]以下に先ほど作成した公開鍵(hoge.pub)を移動します。
サーバー手順2 †
- 公開鍵の変換を行い登録します。
1
2
|
| ssh-keygen -X -f ~/.ssh/hoge.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
|
- /etc/ssh/sshd_configを編集します。
1
2
| -
!
| PasswordAuthentication no
|
- SSHサーバーを再起動します。
クライアント手順2 †
- 今まで作業していたSSHコンソールは残しつつ、新規に接続を開始します。
- PuTTYjpを起動します。
- [セッション]-[ホスト名]や、[SSH]-[認証]-[認証のためのプライベートキーファイル](hoge.ppk)を設定して接続します。
- ユーザ名を入力します。
- パスフレーズを入力します。
検証時の環境 †