このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習59

新Linuxコマンド演習59 概要

「新Linuxコマンド演習59」では、
 ネットワークを介してリモートサーバーに安全に接続するための基本コマンドである sshコマンド(Secure Shell) の使用方法を学びます。
 SSHは暗号化された通信を提供し、リモート管理やファイル転送の安全な手段としてLinux環境で標準的に使用されています。

 この演習では、SSHの初回接続時の認証手順、再接続時の流れ、接続終了操作など、リモートアクセスの基本操作を実践的に理解します。

コマンド概要

コマンド主な用途特徴主なオプション
sshリモートホストに安全に接続通信を暗号化し、パスワードやコマンドを安全に送信可能-p(ポート番号指定)
-i(鍵ファイル指定)
-v(詳細モード)
ip address showネットワークインターフェースの状態確認IPアドレスなどを確認するコマンド無し(またはインターフェース名を指定)
pingネットワーク疎通確認対象ホストとの接続確認に使用-c(回数指定)

表の説明
 sshコマンドは、安全な通信チャネルを確立し、暗号化されたプロトコルでリモートシステムにログインします。
 ip address show や ping は SSH接続前の事前確認として、ネットワークの状態や疎通を確認するために使用されます。

演習問題+模範解答例

演習01:自分のPCのIPアドレスを確認する

問題
自身のマシンのIPアドレスを確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f8:25:ac brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
       valid_lft 85899sec preferred_lft 85899sec
    inet6 fd17:625c:f037:2:a00:27ff:fef8:25ac/64 scope global dynamic noprefixroute 
       valid_lft 86246sec preferred_lft 14246sec
    inet6 fe80::a00:27ff:fef8:25ac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

解説
 ネットワークインターフェース enp0s3 に割り当てられた inet の値(例:10.0.2.15)がIPアドレスです。
SSH接続に使用するため、確認しておきます。

演習02:pingコマンドで疎通確認を行う

問題
自分のホスト(10.0.2.15)に対してpingを実行し、応答を確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ ping -c 4 10.0.2.15
PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 バイト応答 送信元 10.0.2.15: icmp_seq=1 ttl=64 時間=0.072ミリ秒
64 バイト応答 送信元 10.0.2.15: icmp_seq=2 ttl=64 時間=0.057ミリ秒
64 バイト応答 送信元 10.0.2.15: icmp_seq=3 ttl=64 時間=0.042ミリ秒
64 バイト応答 送信元 10.0.2.15: icmp_seq=4 ttl=64 時間=0.084ミリ秒

--- 10.0.2.15 ping 統計 ---
送信パケット数 4, 受信パケット数 4, 0% packet loss, time 3059ms
rtt min/avg/max/mdev = 0.042/0.063/0.084/0.015 ms

解説
pingコマンドはICMPパケットを送受信して通信可能か確認します。
自ホストへのpingで応答があることを確認できれば、基本的なネットワーク接続は問題ありません。

演習03:SSHで初回接続する

問題
リモートホスト「10.0.2.15」にユーザーtanakaで初回SSH接続してください。

模範解答例

[suzuki@AlmaLinux ~]$ ssh tanaka@10.0.2.15
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ED25519 key fingerprint is SHA256:N3+a6TS/PmMLOm3mCnCSvDio06LM3vQyEWyRrkmpd0I.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.2.15' (ED25519) to the list of known hosts.
tanaka@10.0.2.15's password: # パスワードの入力
Last login: Sun Dec  7 22:55:41 2025
[tanaka@AlmaLinux ~]$ 

解説
初回接続ではホストキーが未登録のため警告が表示されます。
「yes」と入力してホストを信頼し、パスワード認証でログインします。
ホストキーは ~/.ssh/known_hosts に保存され、2回目以降は確認不要となります。

演習04:SSH接続を終了する

問題
SSHセッションを終了してください。

模範解答例

[tanaka@AlmaLinux ~]$ exit
ログアウト
Connection to 10.0.2.15 closed.
[suzuki@AlmaLinux ~]$ 

解説
exitコマンドでSSHセッションを終了します。
接続が切断され、元のsuzukiユーザーのシェルに戻ります。

演習05:SSHで2回目以降の接続を行う

問題
 再度「10.0.2.15」にユーザーtanakaとしてSSH接続して、SSH接続を確認したらログアウトしてください。

模範解答例

[suzuki@AlmaLinux ~]$ ssh tanaka@10.0.2.15
tanaka@10.0.2.15's password: 
Last login: Mon Dec  8 00:17:24 2025 from 10.0.2.15
[tanaka@AlmaLinux ~]$ exit
ログアウト
Connection to 10.0.2.15 closed.
[suzuki@AlmaLinux ~]$ 

解説
2回目以降の接続では、既にホストキーが登録されているため警告は表示されません。
パスワード認証のみでログインできます。

演習06:鍵認証によるSSH接続を行う(応用)

問題
tanakaでログインして、鍵認証によるSSH接続を tanakaでできるように設定してください。

模範解答例(手順)

[suzuki@AlmaLinux ~]$ su - tanaka
パスワード:
[tanaka@AlmaLinux ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tanaka/.ssh/id_rsa): # Enterキー
Created directory '/home/tanaka/.ssh'.
Enter passphrase (empty for no passphrase): # パスフレーズの入力
Enter same passphrase again:                # 再度パスフレーズの入力
Your identification has been saved in /home/tanaka/.ssh/id_rsa
Your public key has been saved in /home/tanaka/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:qw4++oa1cYWEE4uve9I38p3euxFOZuO/UWeOv56xzvs tanaka@AlmaLinux
The key's randomart image is:
+---[RSA 3072]----+
|    .o           |
|   .o..          |
|  . .o .         |
|   .  . .        |
|    .  .S *   . o|
|   .o .  B o . = |
|  .+.+  . + . ...|
|  ooB.oo o o ...+|
|  o*o*+o+ +oo.oOE|
+----[SHA256]-----+

[tanaka@AlmaLinux ~]$ ssh-copy-id tanaka@10.0.2.15
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tanaka/.ssh/id_rsa.pub"
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ED25519 key fingerprint is SHA256:N3+a6TS/PmMLOm3mCnCSvDio06LM3vQyEWyRrkmpd0I.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
tanaka@10.0.2.15's password: # パスワードの入力

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'tanaka@10.0.2.15'"
and check to make sure that only the key(s) you wanted were added.

[tanaka@AlmaLinux ~]$ ssh tanaka@10.0.2.15
Enter passphrase for key '/home/tanaka/.ssh/id_rsa': # パスフレーズの入力
Last login: Mon Dec  8 01:08:58 2025 from 10.0.2.15
[tanaka@AlmaLinux ~]$ 

[tanaka@AlmaLinux ~]$ exit
ログアウト
Connection to 10.0.2.15 closed.
[tanaka@AlmaLinux ~]$ 

解説
ssh-keygenで鍵ペアを作成し、ssh-copy-idで公開鍵をサーバーに登録します。
以後、パスフレーズの入力することで、パスワードを入力せずにぱ安全な接続が可能です。

まとめ

新Linuxコマンド演習59では、
SSHによる安全なリモート接続の仕組みと基本操作を学びました。
 初回接続時のホスト認証、再接続、接続終了、鍵認証方式を理解することで、安全かつ効率的なリモート管理が可能になります。

学習ポイント内容
sshコマンドセキュアなリモート接続を行うための基本コマンド
初回接続時のホスト認証正規サーバーとの安全な通信を保証
鍵認証パスワード入力なしで安全にログイン可能
AlmaLinux 9.6の特徴OpenSSHが標準搭載。設定ファイルは/etc/ssh/sshd_config