オーソライズド・キーの設定の仕方/ServersMan@VPS

ServersMan@VPS
この記事は約7分で読めます。

備忘録_31 / ServersMan@VPS_12

WordPressにブログを立ち上げるまでを、備忘録第1回から今回の投稿記事までずっと通しで書いております。基本的にセキュリティの事については全く自信がないので正直に言ってあまり大ぴらに書きたくないザ・素人です。

①②③④ ServersMan先輩のご紹介

ITメインのごちゃまぜ備忘録

前回、投稿記事の備忘録同様でServersMan先輩の書かれたマニュアルを参考に、そっくりそのまま真似てやっちゃいます、、、所存でございます。

一般にそれを丸パクリと呼ぶかも知れません …。
しかし … 、赦して下さい💦

⑤更にSSH設定:セキュリティ対応(公開鍵接続)

SSHはパスワードによる認証ではなく、公開鍵を使った認証が可能です。ペアとなる秘密鍵を作ることで、自身の持つ秘密鍵と相手の持つ公開鍵で認証が可能となります。

クライアントがWindowsの場合「ssh-keygen」のプログラムを入手する必要があります。


今どきのWindows10には「ssh-keygen.exe」が標準で利用できるようです。ですから、こちらはしっかり活用していきます。

公開鍵の生成方法
[図_2]
  • windowsスタートボタンを右クリックします。 
  • ファイル名を指定して実行(R)をクリック。 
  • 「cmd」と入力して[OK]をクリックします。
[図_3]

[図_3]
こちらは「コマンドプロンプト」と呼ばれる画面です。

この、コマンドプロンプトとは … …
… これ何でしょう …?

説明を付けようとwiki他色々と探したのですが、今一つうまく説明出来る気がしません。
上手く説明出来る人いますか?

何に使うのでしょうか … …

ssh-keygen -t rsa -b 2048
  • カーソルに左を入力[Enterキー]を3回押します。

パスフレーズは付けた方がよりセキュアになります。

[図_4]

[図_4]
windowsのユーザーフォルダ、いわゆる「Myドキュソ」内に「.ssh」というフォルダが作成されて、以下、

  1. id_rsa
  2. id_rsa.pub  

2つのファイルが作成されています。

1.は、秘密鍵と呼ばれるものでsshクライアントにセットします。
2.は、公開鍵と呼ばれるもので仮想専用サーバーにセットします。

公開鍵を仮想専用サーバーに送る方法

ftpコマンドやツールを使い、サーバーに公開鍵を送ります。私はツール(WinSCP)を使って転送しました。とりあえずユーザーのホームディレクトリに公開鍵を配置したものとして、以降の手順を記述します。

[図_5]

[図_5]
ここではRLoginを使い仮想専用サーバーに送る方法を説明します。
RLoginにはファイルを転送できる機能も搭載されているようで、画面小さいですが

  • 赤枠のアイコンをクリック。
[図_6]

[図_6]
画面、左側はwindows、右側はCentOSです。
[図_4]
「.ssh」フォルダに作成された、公開鍵(id_rsa.pub)を、
/home/ユーザー名 のフォルダにマウスでファイルをドラッグ&ドロップします。

公開鍵認証を実装する方法
先輩マニュアル
私のメモ

・フォルダ作成。

mkdir ~/.ssh
mkdir /home/honyarara/.ssh
  • ユーザーフォルダ配下に作成します。

mkdirは、make directoryの略です。

cd /home/honyarara
  • ユーザーフォルダに移動
ls -la
  • フォルダの中を確認するコマンドです。

・公開鍵移動。

mv id_rsa.pub ~/.ssh/
mv id_rsa.pub /home/honyarara/.ssh/
  • 公開鍵のファイルを移動します。

mvは、moveの略です。

・公開鍵を別ファイルに追記。

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
rm id_rsa.pub
cd /home/honyarara/.ssh
  • .sshフォルダに移動します。
cat id_rsa.pub >> authorized_keys
  • 公開鍵をオーソライズします。

オーソライズ、言いたかっただけだろ!ハイそうです…

rm id_rsa.pub
  • 以後、公開鍵は必要ないので消去します。

rmは、removeの略です。

・パーミッション変更。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

※上記の公開鍵設置は、SSHログインしたいユーザー全てに対して実施する。
SSHでパスワードログインを不許可に設定。

ファイルパーミッションとは、ファイルごとに定義された、読み出し・書込みなどのアクセスに対する許可情報。通常は、ファイルシステム内のファイルごとに、特定のユーザーやグループに対してアクセス権を設定する。
via:wikipedia_パーミッション

悪意のある侵入者にファイルを触れさせない設定です。セキュリティーの全設定を終えた後で行います。

・設定内容を以下として、ファイルを保存。

vi /etc/ssh/sshd_config
PasswordAuthentication no
vi /etc/ssh/sshd_config
  • パスワードによるログインを禁止にします。
x 1文字消去 i 現在のカーソル位置に文字を挿入する
A 現在のカーソル行の最後に文字を追加する o 現在のカーソル行の次の行に行を挿入する
:q! ファイルを破棄してviを閉じる :wq ファイルを上書してviをを閉じる

・SSH再起動。

systemctl restart sshd.service

  • 設定を反映させる為に再起動させます。

以降、SSH接続は秘密鍵を使ったものしか許可されなくなります。
秘密鍵は漏えい、紛失しないよう注意しましょう。
via:ServersManパイセン_マニュアル

―――――― 先輩ありがとう💦

Rloginの秘密鍵設定方法

[図_7]

[図_7]
秘密鍵(id_rsa)をsshクライアントにセットします。

  • [SSH認証鍵(k)]をクリックします。

[図_4]
先に作成した、windowsのユーザーフォルダ配下の「.ssh」フォルダ内のファイル、

  • id_rsaを選択して[OK]をクリックします。

[図_7]

  • パスフレーズを設定してた場合入力します。

SSHクライアントRLoginの使い方

それ以外の設定につきましては、こちら前回の内容も併せてご参照して下さい。

秘密鍵の漏洩は非常にマズいです。サーバー側CentOSの設定にも依りますが、一つの鍵をrootも含めた複数ユーザーで使い回しが出来てしまいます。その暗号コードは文字列こそ長いもののマウスでコピペ出来てしまう代物です。
つまり、やたらやたら長いパスワードと何ら変わらないです。
ですから、自宅PCで使うなら必要ありませんが、ノートPCの様なモバイル環境で使うならパスフレーズを設定した方が良いと思います。
[図_3]
Windows10のsshキージェネレータではパスフレーズの最短が「5文字」のようでした。パス作成ルールは緩く「00000」でもOKのようです。ですから、モバイル環境で使う場合のみパスフレーズを手打ちで入力するように設定しておけば、いざノートPCごと紛失しても、自宅PCよりサーバーダウンさせるまでの時間は稼げるかと思います。

[図_8]

[図_7]
そこで、ノートPCで使うRLoginには、

  • 入力しないで空白にしておく設定も可能です。


[図_8]

基本、WordPressのブログ更新するぐらいであまりサーバー操作をしないけど…しかし、あるかも知れない。
或いは自宅PCがクラッシュした時のための保険的なものにはなると思います。

今回は以上です。ありがとうございました。

EyeCatch画像:Rudy and Peter Skitterians/Pixabayからの画像