PuTTYgenを使って公開鍵と秘密鍵を作成する
CentOSにログインするには、現在は鍵認証が一般的になりつつあります。鍵認証のメリットは以下の二つになります。
- 鍵を登録すれば登録したマシンにログインできる
- パスワード認証よりセキュア
こんな感じかなと思います。肝心の鍵の作り方は?と思いますが主に二通り
- CentOSなどサーバー側で作成する
- Mac、Winなどのクライアント側で作成
今回はクライアント側(Win)で作成してそれを使っていくようにしたいと思います。
なんでクライアント側(Win)?
MacとCentOSなどは作り方は同じのためになります。今回はコマンドを使うのでは無くツールを使ってユーザーを作っていきます
PuTTYgenを使って鍵作成
なぜPuTTYgen?
普段僕がSSHのクライアントで使っているのがPuTTYになるからです。それ以外つかった事ないので他のソフトでの使い方は知りません。PuTTYの正規名称はパティらしいですが日本語ではプッティ、プティと呼ばれることが多いです。僕もプティと呼んでました。
秘密鍵、公開鍵を作ってログインするまで
今回はPuTTYgenを使って鍵を作り、無事CentOSにログインできるようにします。尚、CentOS側では事前にユーザーがいることにします。今回はmacanというユーザーになりますPuttyはダウンロードしておいてください。僕はPuTTYjpからダウンロードして使っております
ダウンロードしたフォルダを開く
ダウンロードするとこんな感じでフォルダの中には色々入っております。
PuTTYgenをクリック
PuTTYgenアイコンをクリックして立ち上げます
Generate(赤枠の箇所)をクリックします
赤枠の箇所をマウスでぐるぐるすると緑ゲージが貯まっていくので貯まるまで動かします
こんな感じで何か出来ました。
公開鍵をコピーする
赤枠の「Public key for pasting into OpenSSH authorized_keys file」に表示されているものが公開鍵の文字列です。key_commentは作成した日付がデフォルトで入っています。この文字列をコピーしてさくらエディタなどのテキストエディタにコピーします
こんな感じでテキストエディタにコピーして保存します。ファイル名はここではなんでも良いです。ここではmacan.txtとしました
秘密鍵を作成
今度は秘密鍵を作成します。
赤枠のSave private keyを押します。ファイル名は適当でOKです拡張子「.ppk」というのがつきます。ここではmaca.ppkとしました。今回作ったのは秘密鍵の元となるファイルです
Loadを押してファイルを読み込む
先ほど作成したmacan.ppkを読み込みます。読み込んでも特に画面に変化はありません
秘密鍵を作成
メニューの「Conversions」→「Export OpenSSH key」で秘密鍵を作成します。ファイル名はmacan_id_rsaとしました
これで公開鍵と秘密鍵が揃いました。CentOS側に登録したいと思います
公開鍵の登録をする
まずはCentOSにログインしてください。VPSなどは専用のコントロールパネルとか、別のユーザーから該当ユーザーになる。パスワード認証など方法は自由です。ここではmacanユーザーでログインします
CentOSにログイン
CentOSにmacaユーザーログインしています。ホームディレクトリにいます
[macan@localhost ~]$ pwd /home/macan [macan@localhost ~]$
鍵登録をしていきます
公開鍵の追加
まずは公開鍵の登録をしていきます。鍵はFTP、SCPでの転送とか色々ありますが今回はシンプルにコピー&ペーストにします。ここからはコマンドでやっていきます
[macan@localhost ~]$ ls -all 合計 20 drwxr-xr-x 2 macan macan 4096 6月 19 13:22 . drwxr-xr-x. 5 root root 4096 6月 19 13:22 .. -rw-r--r-- 1 macan macan 18 6月 19 13:22 .bash_logout -rw-r--r-- 1 macan macan 193 6月 19 13:22 .bash_profile -rw-r--r-- 1 macan macan 231 6月 19 13:22 .bashrc [macan@localhost ~]$
まずは.sshディレクトリを作成します
[macan@localhost ~]$ mkdir .ssh [macan@localhost ~]$ ls -all 合計 24 drwxr-xr-x 3 macan macan 4096 6月 19 13:36 . drwxr-xr-x. 5 root root 4096 6月 19 13:22 .. -rw-r--r-- 1 macan macan 18 6月 19 13:22 .bash_logout -rw-r--r-- 1 macan macan 193 6月 19 13:22 .bash_profile -rw-r--r-- 1 macan macan 231 6月 19 13:22 .bashrc drwxrwxr-x 2 macan macan 4096 6月 19 13:36 .ssh
[macan@localhost ~]$ chmod 700 .ssh
作成しました。公開鍵を登録します。パーミッションを変更しないとエラーとなるので必ずしてください
[macan@localhost ~]$ vi .ssh/authorized_keys macan.txtの中身を貼り付ける [macan@localhost ~]$ chmod 600 .ssh/authorized_keys
これにて公開鍵の登録は終わりです。ここでもパーミッションを変更しないとエラーとなります
ログインをしてみる
PuTTYを使ってログイン
今回は実験なので、デスクトップに保存しておいてputty-0.70-jp20170713の中にkeyフォルダを作り、そこに秘密鍵をいれますputtyなので秘密鍵はppkのほうを使います
\Desktop\putty-0.70-jp20170713\key macan.ppk macan_id_rsa
こんな感じで2種類一応いれておきました。使うのは一つだけです
PuTTYを起動
puttyjpをクリックして起動します
ホスト名にIPアドレスかホスト名を入力します。
接続 > SSH > 認証を出し、認証の項目でキーファイルを登録します
ログイン成功
ログインに成功すると、macanユーザーで鍵認証成功したことになります。画像が文字化けしているのは、PuTTYはデフォルト文字コードがEUC-JPで接続しているためになります。CentOSはUTF-8なので文字化け起きております。接続するとき文字コードをUTF-8にすれば文字化けはおきません
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS