CentOS 7 Serverを用意しよう!その5<SSH認証鍵編>

CentOS 7 Serverを用意しよう!その5<SSH認証鍵編>

前回、SSHを導入しました。
SSHを使ってログインするのにパスワードだけでは危険です。
今回はセキュリティレベルを上げるために、認証鍵というものを設定します。

上から順番に見て実行してください。飛ばさないように注意してください!

鍵を作成しよう

まずはサーバーへ接続し、rootでログインしておきます。

鍵の作成

ssh-keygen -t rsa -b 4096
鍵を作成するこのコマンドを実行します。

SSHクライアントはなんと、SSH上で右クリックすると貼り付けすることができます。
コマンドをコピーしてSSHに貼り付けて実行しましょう!

実行すると、キーの保存場所を変えるか聞かれます。
変えなくていいので何も入力せずEnterキーを押します。


次にパスフレーズの入力を求められますが、何も入れなくてもいいのでEnter。セキュリティを強化したいのであれば入力。これをもう一回繰り返します。


変な記号やら表示され、いつもの入力状態に戻ったら完了です。

鍵の登録

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
id_rsa.pub の内容を authorized_keys に追記します。

鍵のアクセス権限の変更

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
他からアクセスできないよう、ファイルのアクセス権限を変更します。

鍵認証をクライアントへ

鍵をサーバー接続に使用するパソコンへ転送しなければなりません。
WinSCPはエクスプローラー間隔でファイルを持ってくることができます。

WinSCPで鍵の保存先へ移動

先程の鍵は /root/.ssh の中にあるのでWinSCPで覗いてみます。
下の画像の矢印先にあるアドレスバーをダブルクリックします。

次に下の画像のようなウィンドウが開かれます。
テキストボックスに/root/.sshを入力し、開くをクリックします。

鍵の転送

すると、以下の画像のようにファイルが表示されると思います。
id_rsa というファイルをWindowsのフォルダへドラッグアンドドロップして転送します。
(WinSCPの左側のフォルダへ持っていけばコピーできます。WinSCP外へドラッグアンドドロップして転送することもできます)

鍵(id_rsaという名前のファイル)をちゃんと転送したことを確認してください。
転送せずに次に進んでしまうと、積みますので気をつけてください。

サーバー内の鍵を削除

id_rsa という鍵がちゃんと転送されたことを確認できたら、サーバー内の鍵を削除します。

rm -f ~/.ssh/id_rsa ~/.ssh/id_rsa.pub で削除します。

SSH設定 その2

SSHの接続が確認できたので、SSHのセキュリティを高めていきます。
ここでは、鍵認証の使用とパスワード認証の無効化を紹介します。

SSHの設定ファイルを開く

vim /etc/ssh/sshd_config
先ほど開いた、SSHのファイルを開きます。

WinSCPは上に表示されたファイルをダブルクリックすることで、直接編集することができます。
当サイトではvimコマンドでファイルの編集を紹介していますが、WinSCPで編集しても構いません
WinSCPの場合、テキストエディタが付属されています。
使いづらいので設定からTerapadやさくらエディタを指定して、テキストエディタを変更することをおすすめします。

設定ファイルの編集

① 38行目の PermitRootLogin yes を PermitRootLogin without-password に書き換えます。
② 43行目の #PubkeyAuthentication yesの#を消します。
③ 65行目の PasswordAuthentication yes を PasswordAuthentication no に書き換えます。

これらが終わったら保存し、systemctl restart sshd でSSHに設定を読み込ませます。

再接続してみる

接続していたWinSCPとPuTTYを全て閉じ、もう一度ログインしてみます。
すると、ログインしようとしても弾かれます。
弾かれればこれまでの手順は成功です。

ログインできるように「WinSCPの設定」へ進みます。

WinSCPの設定

サーバーにログインするには、鍵が必要になりました。

WinSCPに鍵を登録するだけで、PuTTYからログインするときも鍵が読み込まれますので、WinSCPに登録します。

鍵認証を変換

WinSCPとPuTTYで鍵認証を使うには、PuTTYの形式に変換する必要があります。

PuTTYgenを起動

WinSCPログインウィンドウの左下にある「ツール」から「PuTTYgenを実行」をクリックします。

ファイルの指定→変換→保存

Loadをクリックし、サーバーから転送してきた「id_rsa」ファイルを読み込ませます。
読み込ませたら、その下にある「Save private key」をクリックし、変換された鍵を名前をつけて保存します。
保存したらこのウィンドウを閉じます。

WinSCPに鍵認証を登録

サーバー情報を入力

WinSCPのログイン画面で、パスワード以外(ホスト名、ポート番号、ユーザー名)を入力します。

接続先サーバー設定の変更

パスワードの下にある「設定」をクリックします。

鍵の指定

左の「認証」タブをクリックし、先ほど変換し保存した鍵を秘密鍵を②のところに指定します。
指定したら「OK」をクリックします。

ログイン情報を保存

ユーザー名を入力する欄の下に「保存」ボタンがあります。
これをクリックして、次からすぐにログインできるようにします。

再接続で確認

ログイン情報を保存すると左側のリストに表示されます。
そこから選択し、ログインしてみてください。

正常にログインできたら成功です。


お疲れ様でした。分からない点・わかりにくかった点はコメント欄にて書いていただくとお答えします。

CentOSカテゴリの最新記事