SSH 公開鍵 認証 を検証してみた

スポンサードリンク

SSH 公開鍵 認証 を検証してみた。

SSH接続をおこなう際、パスワードではなく公開鍵と秘密鍵で認証するように設定

※CentOS6を前提にしています。

公開鍵と秘密鍵とは?

公開鍵と秘密鍵はペアになっており、公開鍵で暗号化した文字列は秘密鍵でしか復号化できない。

逆に秘密鍵で暗号化した文字列は公開鍵でしか復号化できない。

SSH公開鍵認証はこの仕組みが利用されている。

サーバー側からランダムな数字を公開鍵によって暗号化したものが送られ、クライアント側でそれを秘密鍵によって復号化してサーバーに送り返し、両者が一致しているかどうかで認証している。

公開鍵 と 秘密鍵 の作成

ssh-keygenコマンドで公開鍵と秘密鍵のペアを作成する。(タイプ:RSA)

[sepg@localhost ~]$ ssh-keygen -t rsa

いろいろ聞かれるがすべてEnter

Generating public/private rsa key pair.
Enter file in which to save the key (/home/sepg/.ssh/id_rsa):
Created directory '/home/sepg/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sepg/.ssh/id_rsa.
Your public key has been saved in /home/sepg/.ssh/id_rsa.pub.
The key fingerprint is:
3f:b9:88:f5:fd:31:8c:12:0e:4c:df:9e:0b:71:3e:2d sepg@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|        .        |
|       o . .     |
|        S + o    |
|         + B =   |
|        . B E =  |
|       o o * + o |
|      . . o o..  |
+-----------------+

.sshディレクトリの中に鍵ファイルが作成される。

[sepg@localhost ~]$ cd .ssh
[sepg@localhost .ssh]$ ll
total 8
-rw------- 1 sepg sepg 1675 Mar  4 13:53 id_rsa
-rw-r--r-- 1 sepg sepg  408 Mar  4 13:53 id_rsa.pub

公開鍵(id_rsa.pub)をauthorized_kesファイルに書き出してパーミッションを設定(root権限で)

[sepg@localhost .ssh]$ cat id_rsa.pub > authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys

/etc/ssh/sshd_configの設定

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

SSH 接続確認

秘密鍵(id_rsa)をローカルのデスクトップにダウンロードする。

ターミナルで繋いで見る
・◎RSA/../../鍵を使う
・秘密鍵ボタンでダウンロードした秘密鍵(id_rsa)を選択

ログインできた

おわり

スポンサードリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする