Program LOG

勉強した内容をまとめ中。。。間違ってたら教えて。。。

鍵認証について

先日友人に鍵認証のやり方を教えてくれって言われました。
口頭で説明したら「???」って感じでw
ブログにしておくって言ってしまったので、書きたいと思いますw
僕もやり方は知っていましたが、色々調べながらやった事無かったので、
丁度いい機会でした!

公開鍵認証って何?

CentOSSSH でログインする方法には、パスワード認証方式と公開鍵認証方式があります。
パスワード認証方式は、現在のインターネット環境では、サーバーの認証として脆弱であると言っても過言ではないでしょう。
特に、SSH で不正にログインされるとサーバーを乗っ取られる可能性があるため、これからの Web サーバ-の認証は公開鍵認証方式を採用すべきです。
この記事では、公開鍵認証による SSH のログイン設定方法をご紹介します。

なるほど!そうゆう事ねw

キーペアの作成

まずは、サーバーでキーペアを作成します。
前回の記事で作成したGitサーバーを使用したいと思います。
vagrantで作成した仮想マシンですw)
まずは、ログインして、ユーザーを作成します。

$ cd ./gitserver
$ vagrant up
$ vagrant ssh
[vagrant@localhost ~]$ sudo su
[root@localhost vagrant]# useradd takumi
[root@localhost vagrant]# passwd takumi
Changing password for user takumi.
New password: takumi
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: takumi
passwd: all authentication tokens updated successfully

次に、キーペアを作成します。
passphraseを入力すると、鍵認証時毎回聞かれるのがうざいので、スキップしちゃいますw

[root@localhost vagrant]# su takumi
[takumi@localhost vagrant]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/takumi/.ssh/id_rsa): エンターキー
Created directory '/home/takumi/.ssh'.
Enter passphrase (empty for no passphrase): エンターキー
Enter same passphrase again: エンターキー
Your identification has been saved in /home/takumi/.ssh/id_rsa.
Your public key has been saved in /home/takumi/.ssh/id_rsa.pub.
The key fingerprint is:
54:41:c5:50:b0:1e:ac:93:bf:ce:e3:37:76:ac:a4:3f takumi@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|         .*Bo    |
|         o ..    |
|        . +      |
|       . + .     |
|        S .      |
|         o       |
|          . ..   |
|         ..+E o  |
|         o*=o=   |
+-----------------+
[takumi@localhost vagrant]$ cd /home/takumi/.ssh/
[takumi@localhost .ssh]$ ll
total 8
-rw------- 1 takumi takumi 1743 Jul 25 08:52 id_rsa
-rw-r--r-- 1 takumi takumi  410 Jul 25 08:52 id_rsa.pub

こんな感じですw
んで、下記コマンドを実行して、公開鍵を公開鍵認証で使用できるようにします。

[takumi@localhost vagrant]$ cp -apr ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
[takumi@localhost vagrant]$ chmod 600  ~/.ssh/authorized_keys

公開鍵認証のログイン設定

鍵認証が行えるように設定しましょう!

[takumi@localhost vagrant]$ exit
[root@localhost vagrant]# vi /etc/ssh/sshd_config
vi) PubkeyAuthentication yes ←コメントを外す
[root@localhost vagrant]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

まずは、秘密鍵をダウンロードしましょう!
本来は、ここで、WinSCPなどを用いて秘密鍵をもってくるんですが、
Vagrantなので、共有ディレクトリにコピーして使おうと思います。

[root@localhost vagrant]# cp /home/takumi/.ssh/id_rsa /vagrant/
[root@localhost vagrant]# ll /vagrant/
total 7
-rwxrwxrwx 1 vagrant vagrant 1743 Jul 25 08:58 id_rsa
-rwxrwxrwx 1 vagrant vagrant 4733 Jul 25 02:52 Vagrantfile

次にTera Termを設定します。
ユーザー名を入力し、パスフレーズに、秘密鍵パスフレーズを入力し、
秘密鍵を選択し、接続してみてください!
これで、秘密鍵認証は完了となります。

~/.ssh/configを設定しておこう!

WindowsユーザーでもCygwinを使っている場合、キーフレーズで認証する事が出来ます。
設定しておこうと思います。

$ vim ~/.ssh/config
Host gitserver
  HostName 192.168.33.19
  User takumi
  PasswordAuthentication no
  IdentityFile C:/Users/takumi-main/Desktop/dev/gitserver/id_rsa
  IdentitiesOnly yes
  LogLevel FATAL
$ ssh gitserver
Last login: Fri Jul 25 09:00:44 2014 from 192.168.33.1
Welcome to your Vagrant-built virtual machine.
[takumi@localhost ~]$

ざっと、こんな感じです!
友達には、sudo suのユーザー権限の設定方法も聞かれています。。。w
次回にでも書いておこうと思います。

使用環境