SSH接続のセキュリティ強化:公開鍵認証導入とTera Term 5.4でのログイン

Linuxセキュリティ強化

この記事では、LinuxサーバーへのSSH接続におけるセキュリティ強化を目的として、公開鍵認証の導入と、Tera Term 5.4を使用したログイン手順をまとめます。設定作業中に発生したエラーとその対処についても記載しており、実際の運用に役立つ情報となっています。


目次

  1. はじめに
  2. PowerShellで公開鍵・秘密鍵を作成する
  3. Tera Term 5.4でサーバーにSSHログインし公開鍵を送信する
  4. SSH設定を変更して鍵認証を導入する
  5. Tera Term 5.4で鍵認証ログインを確認する
  6. 最終的にSSH設定を鍵認証のみに切り替える
  7. 結論

1. はじめに

SSH接続におけるセキュリティ強化を目指し、公開鍵認証の導入を検討しました。当初、Tera Term 5.4を使用して鍵認証による接続を試みた際にエラーが発生しましたが、適切な対処により問題を解決し、セキュアなSSH環境を構築するに至りました。本記事は、その設定手順と注意点を記録したものです。


2. PowerShellで公開鍵・秘密鍵を作成する

WindowsのPowerShellを開き、以下のコマンドを実行します。

ssh-keygen -t rsa -b 4096 -m PEM
  • -t rsa:RSA形式の鍵を作成
  • -b 4096:4096bit長の鍵を作成
  • -m PEM:PEM形式で出力(Tera Term 5.4が認識可能)

パスフレーズは設定せず、空Enterで進めます。作成された鍵ファイルは、通常 C:\Users\ユーザ名\.ssh\ に保存されます。ディレクトリが存在しない場合は手動で作成してください。


3. Tera Term 5.4でサーバーにSSHログインし公開鍵を送信する

Tera Term 5.4を起動し、サーバーのIPアドレスを指定してSSH接続します。この段階では、ユーザー名とパスワードによる認証でログインします。

ログイン後、メニュー「ファイル」→「サイト送信(SCP)」を選択し、作成した公開鍵ファイル(id_rsa.pub)をサーバーに送信します。

サーバー上では以下のコマンドを実行し、公開鍵を認証用ファイルに登録します。

mkdir -p ~/.ssh
chmod 700 ~/.ssh
cat 送信した公開鍵ファイル > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

4. SSH設定を変更して鍵認証を導入する

続いて、サーバー側のSSH設定を変更します。

設定ファイル /etc/ssh/sshd_config を編集し、以下の内容を確認・変更します。

# 基本設定
Port 2222  # 22番ポートから変更(任意)
Protocol 2
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
MaxAuthTries 3

# 必要に応じたアクセス制御
AllowUsers youruser@192.168.1.*  # 接続元IPの範囲制限(任意)

編集後、SSHサービスを再起動します。

sudo systemctl restart sshd

また、必要に応じて次の設定も見直してください。

  • PermitRootLogin no(rootログインを完全禁止)
  • PasswordAuthentication no(後述の完全鍵認証切り替え時)
  • ChallengeResponseAuthentication no
  • AllowGroups(特定グループのみ許可)

これらの設定を行うことで、ブルートフォース攻撃のリスクを大幅に軽減できます。


5. Tera Term 5.4で鍵認証ログインを確認する

Tera Termを再度起動し、今度は「RSA/DSA/ECDSA/ED25519鍵を使う」にチェックを入れ、秘密鍵ファイル(id_rsa)を指定してログインを試みます。

パスワード入力なしでログインできれば、鍵認証設定は成功しています。


6. 最終的にSSH設定を鍵認証のみに切り替える

公開鍵認証によるログインが確認できたら、セキュリティをさらに高めるため、パスワード認証を無効化します。

再度 /etc/ssh/sshd_config を編集し、次のように変更します。

PasswordAuthentication no
PubkeyAuthentication yes

変更後、再びSSHサービスを再起動します。

sudo systemctl restart sshd

これにより、鍵認証以外ではログインできない状態となり、セキュリティが大幅に向上します。


7. 結論

本記事では、Tera Term 5.4とPowerShellを活用し、LinuxサーバーのSSH接続において公開鍵認証を導入し、セキュリティを強化する手順を紹介しました。

本手順では、

  • 鍵ペアの作成
  • 公開鍵のサーバー登録
  • SSH設定の調整(パスワード併用 → 鍵認証のみ)
  • 各種エラーへの対処

を順に行いました。

注意点として、秘密鍵は厳重に管理すること、設定変更時には接続が途絶えるリスクがあるため、別セッションを開いたまま作業するなどの配慮が必要です。

これらを踏まえ、安全で堅牢なSSH環境を構築し、サーバーセキュリティの向上に貢献していきましょう。

コメント

タイトルとURLをコピーしました