ネットワーク機器への Telnet/SSH アクセス試験
ネットワーク構築案件の試験フェーズでは、試験項目の一つとしてネットワーク機器への Telnet/SSH 管理アクセス試験を行います。
これはクライアントから対象ネットワーク機器に対して Telnet または SSH アクセスを試みて正常にアクセスできることを確認します。
試験を実施する際にはエビデンスとなるログを取得する必要がありますが、Telnet/SSH アクセス試験ではどのようなエビデンスを取得することになるでしょうか。
一般的にネットワーク機器に Telnet/SSH アクセスをする際には Windows マシンで Tera Term を使用して行われます。よって、以下のエビデンスを取得する場合が多いと思います。
- クライアントの IP アドレスが分かるエビデンス
ipconfig
のログ、またはそれを表示したコマンドプロンプトの画面キャプチャ
- Tera Term で Telnet または SSH アクセスを試みようとしている画面のキャプチャ
- Tera Term でログイン成功後のログ、またはその画面キャプチャ

テスト対象の接続先数が多い場合、各画面のキャプチャを取得したり、必要に応じてそれらを一つのファイルにまとめたりといったことをすると結構な手間になります。
CentOS の CLI ですべてのエビデンスを取得する
ここでお勧めしたいのが、CentOS の telnet
や ssh
コマンドを使用したアクセス試験及びエビデンスの取得です。
CentOS では CLI 上で IP 情報表示、telnet アクセス、及び ssh アクセスのすべてができるため、エビデンスをすべてテキストログとして取得することができます。画面キャプチャの取得をしなくて済む分エビデンス取得の工数を削減できます。
以下は CentOS を使用した Telnet/SSH アクセス試験をするための構成例です。

試験実施の流れは以下の通りです。
- クライアントから Tera Term で CentOS マシンに Telnet または SSH でログインする
- 試験対象機器ごとに以下 1-3 を実施する
- クライアントの Tera Term でログ取得を開始する
- CentOS マシンの IP アドレス情報を表示する (
ip a
、nmcli d show
など) - CentOS マシンから試験対象機器に Telnet/SSH アクセスする
CentOS での telnet 及び ssh コマンドの使い方は以下の通りです。
telnet <接続先 IP アドレス>
- コマンド実行後、ログインユーザとパスワードを入力します
[root@CentOS-Stream8 ~]# telnet 192.168.179.31
Trying 192.168.179.31...
Connected to 192.168.179.31.
Escape character is '^]'.
Kernel 4.18.0-365.el8.x86_64 on an x86_64
CentOS-Stream8 login: user01
Password:
Last login: Sun Nov 20 11:27:37 from localhost
[user01@CentOS-Stream8 ~]$
ssh -l <ログインユーザ名> <接続先 IP アドレス>
- コマンド実行後、パスワードを入力します
- 接続対象に初回ログイン時のみ接続続行するか確認されるため yes と入力して続行します
[root@CentOS-Stream8 ~]# ssh -l user01 192.168.179.31
The authenticity of host '192.168.179.31 (192.168.179.31)' can't be established.
ECDSA key fingerprint is SHA256:YHbM9YL7zLdklU5BTC6otRxhU+2DLRNrwpe4yDUBORE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.179.31' (ECDSA) to the list of known hosts.
user01@192.168.179.31's password:
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sun Nov 20 11:29:48 2022 from CentOS-Stream8.lan
[user01@CentOS-Stream8 ~]$
Telnet/SSH アクセス試験のエビデンス取得例
以下のログを取得してエビデンスとします。
- CentOS マシンの IP アドレス情報を表示してそのログを取得
- ここでは
nmcli d show <デバイス名>
コマンドを使用します - 対象のデバイス名は
nmcli d
やip a
コマンドなどで確認してください
- ここでは
- 試験対象機器に Telnet/SSH 接続してそのログを取得
telnet
/ssh
コマンドを使用します(アクセス対象 IP: 192.168.179.31)
以下のログが取得したエビデンスです。
[root@CentOS-Stream8 ~]# nmcli d show wlp2s0
GENERAL.DEVICE: wlp2s0
GENERAL.TYPE: wifi
GENERAL.HWADDR: 60:67:20:57:2C:6C
GENERAL.MTU: 1500
GENERAL.STATE: 100 (接続済み)
GENERAL.CONNECTION: wlp2s0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]: 192.168.179.31/24
IP4.GATEWAY: 192.168.179.1
IP4.ROUTE[1]: dst = 192.168.179.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.179.1, mt = 600
IP4.DNS[1]: 192.168.179.1
IP4.DOMAIN[1]: lan
IP6.ADDRESS[1]: 2001:268:c201:8b41:14ee:5e56:e106:f18b/64
IP6.ADDRESS[2]: fe80::f824:27bb:351f:e85a/64
IP6.GATEWAY: fe80::f46e:beff:fe02:ee3
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024
IP6.ROUTE[2]: dst = 2001:268:c201:8b41::/64, nh = ::, mt = 600
IP6.ROUTE[3]: dst = ::/0, nh = fe80::f46e:beff:fe02:ee3, mt = 600
IP6.DNS[1]: fe80::f46e:beff:fe02:ee3
[root@CentOS-Stream8 ~]#
[root@CentOS-Stream8 ~]# telnet 192.168.179.31
Trying 192.168.179.31...
Connected to 192.168.179.31.
Escape character is '^]'.
Kernel 4.18.0-365.el8.x86_64 on an x86_64
CentOS-Stream8 login: user01
Password:
Last login: Sun Nov 20 11:31:39 from 192.168.179.31
[user01@CentOS-Stream8 ~]$
[user01@CentOS-Stream8 ~]$ exit
ログアウト
Connection closed by foreign host.
[root@CentOS-Stream8 ~]#
[root@CentOS-Stream8 ~]#
[root@CentOS-Stream8 ~]# ssh -l user01 192.168.179.31
user01@192.168.179.31's password:
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sun Nov 20 11:41:23 2022 from CentOS-Stream8.lan
[user01@CentOS-Stream8 ~]$
[user01@CentOS-Stream8 ~]$
[user01@CentOS-Stream8 ~]$ exit
ログアウト
Connection to 192.168.179.31 closed.
[root@CentOS-Stream8 ~]#
[root@CentOS-Stream8 ~]#
【参考】CentOS Stream 8 への Telnet サーバの導入
Telnet/SSH クライアントから CentOS マシンに Telnet ログインできるようにするために、CentOS マシンに Telnet サーバを導入してサービス起動する手順を以下に記載します。
■必要パッケージのインストール
dnf -y install telnet-server
■Telnet サーバの自動起動設定・サービス起動
systemctl enable --now telnet.socket
以上で Telnet サーバの導入及び起動は完了です。
必要に応じてファイアウォールを停止してください。
■ファイアウォールの自動起動無効化・停止(必要に応じて)
systemctl disable --now firewalld
【参考】CentOS は仮想マシンで OK
CentOS マシンを用意するために新たに PC を用意しなくても、既存の Windows マシン上に仮想マシンとして CentOS を構築すれば PC は 1 台で済みます。Telnet/SSH クライアントマシン上に構築するのが良いでしょう。
例えば Windows 上に VMware Workstation Player をインストールしてそれ上に CentOS を構築します。仮想マシンのアダプタタイプを「ブリッジ」にすれば仮想マシンを直接外部ネットワークに接続できます。