【CentOS8で検証】SSH公開鍵認証は超簡単

今回は、SSH接続を公開鍵認証を使用して行ってみたいと思います。
いろいろなサーバに接続しだすとSSH接続SCPRSYNCの際に毎回パスワードを入力するのがめんどくさくなるので、そういう時に鍵登録をしておくことでノンパスで接続できて快適になります。
ちなみに下の記事では、rsyncについて調べたことをまとめているのでよければ参考にしてください。
【ファイル同期に便利】rsyncのオプションと使い方
本日は、いろんなバックアップ方式が取れて便利なコマンド"rsync"についてわかったことを共有しようと思います。 rsyncとは rsyncとは、ファイルやディレクトリを同期(コピー)する際に使用するコマンドです。主にデータのバックアッ...

検証環境

用意するサーバは以下の二役です。両方OSはCentOS8.2を使用しています。
  1. ホスト(踏み台などのメインで使用するサーバ)
  2. サーバ(実際にホストから接続を行う側)

 

1のホスト名をhost.local , 2のホスト名をserver.local とわかりやすくしておきます。
ちなみに、CentOS8の場合だとホスト名は”hostnamectl set-hostname ${ホスト名} & “reboot で変更できます。

公開鍵認証設定

早速公開鍵認証設定をしていきましょう。

鍵の作成

まずは、host.local で鍵を作成します。下のコマンドをコピペしてください。
ssh-keygen -t rsa -b 4096

Enter file in which to save the keyは、特に鍵をおく場所決める場所(デフォルトは/root/.ssh/id_rsa)
Enter passphraseは、パスワードのようなログイン時に使用するものです。
なので、必要がない場合はEnterを押して進めてもらえれば上のような表示になると思います。

鍵の確認

では、出来上がった鍵を確認してみましょう。
id_rsaが秘密鍵、id_rsa.pubが公開鍵となっています。今回使うのは後者のid_rsa.pubです。

鍵を登録する準備+登録

では、host.local 作成した鍵をserver.local へ送信する前にserver.local/root/.sshディレクトリがあるかを確認しましょう。そして、ない場合は下のコマンドを使用して作成してください。
mkdir -m 700 /root/.ssh

.sshディレクトリがあることが確認できたら、host.local からserver.local へ公開鍵を送信しましょう。
ちなみにhost.local のIPアドレスは192.168.3.18
server.local のIPアドレスは192.168.3.19です。
scpコマンドで送信します。
scp /root/.ssh/id_rsa.pub root@192.168.3.19:/root/.ssh/authorized_keys
上のコマンドでは、id_rsa.pubをauthorized_keysという名前でserver.localに保存しています。

確認

というわけで実際にserver.localにSSH接続してみましょう。
はい、ノンパスでSSH接続をできるが確認できました。
これでrsyncやscpコマンドを使用した際もパスワード入力なしに使用できます。
というわけで今回は、SSH公開鍵認証の方法を共有しました。
では〜〜〜

 

コメント

  1. […] 【CentOS8で検証】SSH公開鍵認証は超簡単今回は、SSH接続を公開鍵認証を使用して行ってみたいと思います。 いろいろなサーバに接続しだすとSSH接続やSCP、RSYNCの際に毎回パスワードを入力 […]