0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発 #2】Rocky LinuxにTera TermでSSH接続する

0
Last updated at Posted at 2026-07-21

はじめに

前回仮想Linuxサーバの立ち上げに成功したため、今回はTeraTermで操作できるようにSSH接続のための設定を行っていこうと思います。これまでの業務では、Linux環境への接続、操作はマニュアルに沿って操作するのみであったため、理解が深められると嬉しいです。

事前情報

  • Windows 11 Home
  • VMware Workstation Pro
  • Rocky Linux 10
  • ネットワーク方式:NAT
  • 接続元:Windowsホスト
  • 接続先:Rocky Linuxゲスト

SSHについて

・SSH(Secure Shell)
 ネットワーク経由で遠隔のコンピュータを安全に操作するための通信プロトコル
・SSHクライアント
 接続する側のソフト(今回は Tera Term)
・SSHサーバー
 接続を受け付ける側の機能(今回は Rocky Linux上のsshd※)
 ※sshd - 接続要求を受け付けるデーモン(バックグラウンドで動き続けるプログラム)
 <主な機能>
  ①22番ポートで接続要求を待つ
  ②接続してきた相手を、パスワードや公開鍵等で認証する
  ③通信内容を暗号化する
  ④ログインしたユーザーの権限でコマンドを実行させる
  ⑤接続・認証の記録をログに残す

(NAT - VMが外部ネットワークへ通信するとき際にVMのIPアドレスをWindowsホスト側の通信として変換する機能)

TeraTermのインストール

以下の記事のとおり実施しました。

インストール開始
image.png

インストールコンポーネント>初期選択から特に変更しない
image.png

 #TTSSH - Tera TermでSSH接続を行うための機能
 #CygTerm+ - Windows上のCygwin環境とTera Termを連携させるための機能
 #TeraTerm Menu - Tera Termの起動や、接続先・マクロなどの呼び出しを補助するメニュー機能
 #TTProxy - HTTPプロキシやSOCKSプロキシを経由して、SSH接続するための機能

 #Cygwin - Windows上でLinux/Unix風のコマンドや環境を使えるようにするソフトウェア群

完了
image.png

Linux側のネットワーク設定

Linux側のSSHサーバが機能しているか確認します。
①Rocky LinuxのIPアドレスを確認

hostname -I
 #-I … IPアドレスを表示

 → 確認OK
②SSHサーバーが入っているか確認

rpm -q openssh-server

 → インストール済
③SSHサーバーを起動し、自動起動も有効化

sudo systemctl enable --now sshd
 #enable … 自動起動する設定ON
 #--now … 設定だけでなく今すぐ起動(startを含んでいる)

④起動状態を確認

systemctl is-active sshd
systemctl is-enabled sshd
 #is-active … サービスが起動状態か
  #is-enabled … サービスがOS再起動時に自動起動する設定か

⑤firewallを起動し、SSHを許可

sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
 #--permanent … 再起動後も残る設定
  #--add-service=ssh … sshサービスを通信許可リストに追加
  #--reload … 設定ファイルの読み直し
  #--list-services … 現在許可されているサービスの一覧を表示

→ 「Warning: ALREADY_ENABLED: ssh」 OK
→ 「cockpit dhcpv6-client ssh」 OK

ssh以外の2つは何か
 #cockpit - Linuxサーバーをブラウザで管理するためのWeb管理画面「Cockpit」用
 ブラウザから https://(Rocky LinuxのIPアドレス)/:9090 にアクセスして、
 サービス状態、ログ、ストレージなどを確認可能
 #dhcpv6-client - IPv6でIPアドレスやネットワーク設定を自動取得するための通信を許可
image.png

Tera Termでの接続(パスワード認証)

Tera Term起動、接続先情報を入力
image.png

初回接続時のSSHサーバーのホスト鍵確認
「このホストをknown hostsリストに追加する」はチェックしたまま「続行」を選択
※鍵指紋ハッシュアルゴリズム … 短くしたホスト鍵(=指紋)の表示形式。
 通信の暗号方式を変更するものではない。今回は現在標準的なSHA256を選択
image.png

ユーザ名とパスワードを入力
image.png

接続確認
静的ホスト名が設定されていなかったため、設定

hostnamectl --static
sudo hostnamectl set-hostname xxxxxxxxxx

image.png

再起動しても動作するか確認

sudo reboot

VMware で再起動しているのが見える
image.png

sshdおよびfirewallの設定が保存されたままであることを確認

systemctl is-active sshd
systemctl is-enabled sshd
sudo firewall-cmd --list-services

image.png

Tera Termでの接続(公開鍵認証)

Tera Termにて公開鍵、秘密鍵を作成し、Linuxサーバに公開鍵を渡して公開鍵認証で接続可能にする

Tera Termにて、設定>SSH鍵生成
image.png

鍵の種類等を入力し、秘密鍵と公開鍵をそれぞれ保存する
image.png
 #bcrypt KDF - 秘密鍵に設定したパスフレーズをもとに、秘密鍵ファイルを暗号化・保護する仕組み
#公開鍵 → .pub
#秘密鍵 → 拡張子なし

公開鍵をLinuxへ登録
所定の隠しディレクトリに公開鍵を記録するファイルを作成
 /home/ユーザー名/.ssh/authorized_keys

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ls -l ~/.ssh/authorized_keys
 #権限
  所有者:グループ:その他
  r = read = 4
  w = write = 2
  x = execute = 1

作成した公開鍵を上記ファイルに追記し、確認

echo (作成した公開鍵) >> ~/.ssh/authorized_keys
cat ~/.ssh/authorized_keys
 ※(作成した公開鍵)の部分は、公開鍵.pubファイルに保存されたssh-ed25519 AAAA...から始まる1行全体に置き換える。
 #>> … 出力先ファイルの末尾へ追記するリダイレクト記号。ファイルがなければ新規作成

公開鍵認証でログイン
image.png

公開鍵認証で接続できたことを確認

sudo journalctl -u sshd -b --no-pager
 #journalctl … ジャーナル(ログ)を閲覧
  #-u … 特定のサービスに絞る
 #-b … 今回のOS起動後に限る
 #--no-pager … lessなどの画面送り機能を使わず、標準出力へそのまま表示

image.png

感想、次回に向けて

  • 公開鍵認証のために必要な手順を理解できてよかった
  • 今はNATネットワーク内で実験しているため、ブリッジ接続やほかの経路についても確認したい
  • サービスの起動、アプリのインストールなどLinuxの基本操作について学びたい
  • トラブルシューティングに必要な手段をまとめたい
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?