【第7回】公開鍵認証によるログイン方法について

[この記事は2020年3月15日に記載されたものです。]

公開鍵認証でTeraTermからSSHでログインする方法とは?



第6回では、公開鍵をWindowsパソコンからサーバ側の/rootディレクトリ配下にSCP転送を使用して配置しました。

今回は引き続き、サーバ側のsshファイルの設定を実施して、公開鍵認証によるサーバへのログインを出来るようにします。

公開鍵認証についてはサーバエンジニアとしてセキュリティ面で重要な知識となるので、マスターしておきましょう。


サーバ側の公開鍵を設定する



1:
まずはTeraTermを起動してログインします。




2:
以下のコマンドを上から順番に入力して公開鍵ファイルを設定しましょう。

ls -l

mkdir .ssh

chmod 700 .ssh

cat id_rsa.pub > .ssh/authorized_keys

chmod 600 .ssh/authorized_keys

rm -f id_rsa.pub



各コマンドの内容について解説します。※書式の△は半角スペースを表します。

ls

書式:
ls△オプション

lsコマンドは、ディレクトリやファイルの名前、アクセス権などを表示するコマンドです。

一般ユーザでログインした状態でlsコマンドを実施した場合、ログイン時はホームディレクトリ(僕の場合は一般ユーザのvpsyarouでログインしているため、/home/vpsyarouがホームディレクトリとなる)で作業をして、/home/vpsyarou配下にあるディレクトリやファイルを参照することができます。

lsコマンドのみだとファイル名が羅列した表示となりますが、-lオプションを付けてあげることで、ファイルやディレクトリをリスト型(縦)に表示してくれます。

また、各ディレクトリごとに、アクセス権限、ユーザ名、グループ名などを表示してくれます。

mkdir

書式:
mkdir△ディレクトリ名

mkdirコマンドはmake directoryの略で、ディレクトリを作成するコマンドです。

今回は「.ssh」という名前のディレクトリをmkdirコマンドで新規に作成しています。

chmod

書式:
chmod△オプション△アクセス権△ファイル名やディレクトリ

chmodコマンドはディレクトリやファイルのアクセス権を変更するコマンドです。

.sshという名前のディレクトリには、作成した時点でデフォルト(初期状態)でアクセス権が付いています。

アクセス権というのは、.sshのディレクトリに対して、管理者は「r(読み込み)or4・w(書き込み)or2・x(実行)or1」をすることが可能だけど、管理者以外の人は読み込み以外の作業はできませんといった権限を明示的に表現しているものです。

英語の文字列だけでなく数字でも表現することができます。

作成した.sshディレクトリは、管理者は読み込み、書き込み、実行をすべてできる権限が与えられ、グループに属するユーザとその他のユーザは、読み込み以外は操作できないという「700」をchmodコマンドで指定して上げます。



cat

書式:
cat△オプション△ファイル名

catコマンドはディレクトリの中にあるファイルの内容を表示してくれるコマンドです。

今回は複数のコマンドが組み合わさって処理をしてます。

cat id_rsa.pub .ssh/authorized_keys

具体的に何をしているかというと、rsa.pubという公開鍵の中のパスフレーズをcatコマンドで表示させ、>(リダイレクト)という記号を使って、.sshディレクトリ配下にauthorized_keysという名前の空ファイルを新規に作成し、空のファイルにcatコマンドで表示したパスフレーズを>(リダイレクト)で上書きするという作業を実施してます。

その後に、以下のコマンドを実行してます。

chmod 600 .ssh/authorized_keys

.sshディレクトリ配下に作成したauthorized_keysファイルに「600」という権限をchmodで付与しています。





rm

書式:
rm△オプション△ファイル名、ディレクトリ名

rmコマンドremove(削除)の意味で対象のファイルやディレクトリを削除するコマンドです。

rm -f id_rsa.pub

rmコマンドに-fというオプションを付けて作成した公開鍵ファイルid_rsa.pubを削除します。

よく使われるオプションとして-f
-rがあります。-r再帰的に(Recursive)という意味で、対象のディレクトリを削除する場合、中にあるディレクトリやファイルもすべて削除することができるオプションです。

ディレクトリを削除する場合は、rmコマンドに「-r」のオプションを付けないと削除できないので覚えておきましょう。





コマンド操作は全て英語の文字列操作のため、自分が入力したコマンドが、どのような作業をしているのかわかりずらいと思います。

コマンド操作時は、図のようにイメージをしながら作業をすると、効率的に作業がしやすくなるので、ぜひイメージ図は頭の中にインプットしましょう。

【第8回】は、yum(ヤム)というコマンドを使ってサーバのシステムアップデートをする作業について記載します。

この作業はWindowsパソコンでいうと、Windowsアップデートに相当する作業なので、Webサーバを立ち上げる前に実施することでセキュリティが高まります。

最後まで読んでいただき、お疲れ様でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)