情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

インフラ 鍵認証

今回は鍵認証について記載していきます。

PuTTYgenで鍵作成

まずは鍵作成を行います。 「PuTTYgen」と検索してアプリケーションを起動します。

「Generate」を押してマウスをグルグル動かしていくと鍵の生成ができます。

鍵作成後は「Key comment」に任意のコメントを記入します これは鍵を区別するために使われます。デフォルトは「rsa-key-yyyymmdd」等になっています。

「Key passphrase」にパスフレーズを記入します。 パスフレーズは鍵を使用する際に入力が求められます。 「Confirm passphrase」に同じものを入力します。

「save private key」で秘密鍵を作成保存します。「○○.ppk」となります。 「save public key」で公開鍵ファイルを保存します。

CentOSの設定

鍵の準備は完了したのでCentOSの方を設定します。 rootユーザーになっておきます。

ssh-keygen -t rsa

Enter file in which to save the key (/home/cent/.ssh/id_rsa):   変更の必要がなければそのままEnter

Enter passphrase (empty for no passphrase): パスフレーズ記入
Enter same passphrase again: もう一度パスフレーズ記入

鍵が作成されたことを確認します。

cd ~/.ssh

ll
xxxxx id_rsa
xxxxx id_rsa.pub

鍵が作成されたことを確認したら権限の変更をします

chmod 600 id_rsa.pub

ll

-rw------- 1 root root xxx xxx xx xx:xx id_rsa.pub

となります。

一般ユーザーへのroot権限付与

一般ユーザーにroot権限を与えます。 rootで下記コマンドを実行していきます。

# usermod -G wheel username

一般ユーザーにroot権限を与えるため、 /etc/sudoersを編集します。

# visudo

vimが起動したら下記を編集していきます。

## Allows people in group wheel to run all commands 
# %wheel ALL=(ALL) ALL 

↓ 

## Allows people in group wheel to run all commands 
 %wheel ALL=(ALL) ALL

編集が終わったら一般ユーザーに切り替えて、sudo コマンドを使えるか確認する

$ sudo pwd
[sudo] password for username: usernameのパスワードを入力

カレントディレクトリが表示されれば成功

公開鍵をサーバーへ転送

公開鍵をサーバーへ転送するにはまずコマンドプロンプトを立ち上げ、PuTTYgenで作った鍵を保存したディレクトリに移動します。

移動したら下記を実行します

pscp id_rsa.pub username@サーバーのIPアドレス:id_rsa.pub

usernameのパスワード入力を求められるので記入します。 以下のようなメッセージが表示されればOKです。

id_rsa.pub   | 0 kB |   0.5 kB/s | ETA: 00:00:00 | 100%

今回はここまでになります。

下記サイトを参考にさせて頂きました。

qiita.com