LoginSignup
21
22

More than 3 years have passed since last update.

TeratermでSSH接続時の公開鍵認証を設定する

Last updated at Posted at 2020-09-18

はじめに

サーバーについてあまりにも知識が無さ過ぎたので、「さくらのVPS」でVPSサーバーを借り、実際に触ってみることにしました。「公開鍵認証」の仕組み・やり方がよくわからずかなり苦戦したので、記録も兼ねてここにまとめます。

環境

・さくらのVPS
・CentOS Linux release 7.8.2003

公開鍵認証とは

サーバーへのログインをパスワード認証で行うと、パスワードが割れれば第三者がログインできるので危険だが、公開鍵認証を使えば、パスワードを使わず、安全にログインすることができる。
公開鍵認証は、公開鍵と秘密鍵のペアを生成・使用することで行われる。二つの鍵には以下の特徴がある。

・秘密鍵がないと署名が作れない
・公開鍵で(対応した秘密鍵による)正しい署名かどうか検証できる

クライアント側で公開鍵と秘密鍵を生成した後、公開鍵は接続先サーバーに登録し、秘密鍵はクライアント側のみが保管する。ログイン時、サーバーに登録されている公開鍵と、クライアントが提示した秘密鍵が適合すれば、ログインが成功する。

SSH公開鍵認証.png

実際の手順

公開鍵・秘密鍵の生成

ここからは、「Tera Term」を使用してやっていきます。TeraTermは https://ja.osdn.net/projects/ttssh2/ からダウンロードできます。
 
(1)「TeraTerm」の設定メニューの「SSH鍵生成」をクリックする。
teraterm1copy.png
(2)以下の画面が表示されるので、「生成」をクリックする。
teraterm2copy.png
(3)「生成」を実行すると画面下部の「パスフレーズ」、「コメント」を入力できる状態になる。(パスフレーズはログイン時、秘密鍵を使用する際に入力を求められる。一応空欄でも生成は可能。)
 

(4)最後に、画面下部の「公開鍵の保存」「秘密鍵の保存」をそれぞれクリックして、鍵を保存する。
※ 「id_rsa.pub」が公開鍵、「id_rsa」が秘密鍵。
 

公開鍵の登録 

(1)公開鍵をサーバー側に登録する。TeraTermでサーバーにログインし、「id_rsa.pub」をTeraTermウィンドウ上にドラッグ&ドロップする。以下のウィンドウが表示されるので、任意のフォルダを設定して「送信」ボタンを押す。 
teraterm3copy.png
(2)公開鍵をサーバー内のディレクトリに送ったが、まだ登録はできていない。以下のコマンドで、公開鍵を~/.ssh/authorized_keysファイルに登録する。

$ cat id_rsa.pub >> .ssh/authorized_keys

authorized_keysのアクセス権を変更する。(所有者以外がアクセスできないようにする。)

$ chmod 600 .ssh/authorized_keys

以上で鍵の登録は完了。SSH認証画面で、RSA/DSA/ECDSA/ED25519にチェックを入れ、生成した秘密鍵を指定する。それでログインできればOK。
teraterm4copy.png 
 

パスワード認証を無効にする

最後に、パスワードではログインできないよう設定を変更する。
以下のコマンド入力して/etc/ssh/sshd_configファイルの編集画面を開く。

# vim /etc/ssh/sshd_config

このファイルの以下の部分を変更する。

PasswordAuthentication yes → PasswordAuthentication no

変更後ファイルを保存したら、設定を再読込する。

# systemctl reload sshd.service

 
※ 鍵認証の設定がうまくいってないと、パスワード認証を無効化した時点でTeraTermからはログインできなくなる。その場合はVNCコンソールからログインして/etc/ssh/sshd_configの変更箇所を元に戻す。

21
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
22