SSH 鍵認証

SSHによる接続を鍵認証にすることにより、更にセキュリティを持たせる。サーバー側で、公開鍵、秘密鍵を作成し、クライアントが接続する際に秘密鍵を使用し認証を行う。暗号で使用されるプロトコルにはRSA、DSAがありますがここではDSAを使用した例になります。

[user@localhost user]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
73:fb:8a:b3:95:16:24:b2:26:77:93:08:90:55:a7:05 user@localhost.localdomain
[user@localhost user]$

~/.ssh/配下に秘密鍵であるid_dsaと公開鍵であるid_dsa.pubが作成される。公開鍵に関してはsshd_configの記述のネーミングに直す必要がある。

[user@localhost user]$ cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys

秘密鍵はクライアント側で使用する物になるので、これをクライアント側に移す必要があるがFTPなどで移しては元も子もない。フロッピーで移したりSCPを使用するなど配慮が必要になる。
これで鍵の作成は完了だが、sshサーバーで鍵を使用しての認証の設定をする必要がある。sshサーバーの設定はsshd_configで行う。必要な場所は

PubkeyAuthentication
yesにする。
AuthorizedKeysFile
公開鍵の場所を指定する。上記での場合は
.ssh/authorized_keys

SSHの構築について

タイトルとURLをコピーしました