【ネットワーク】ポート番号22、SSHの概要まとめ

ネットワーク

ポート番号22で使われる通信プロトコルSSHの概要をまとめました。

SSHの概要

SSHはSecure Shellの略語です。

IETFが定めるRFCは以下です。

RFC番号内容
4250https://datatracker.ietf.org/doc/html/rfc4250
4251https://datatracker.ietf.org/doc/html/rfc4251
4252https://datatracker.ietf.org/doc/html/rfc4252
4253https://datatracker.ietf.org/doc/html/rfc4253
4254https://datatracker.ietf.org/doc/html/rfc4254
4255https://datatracker.ietf.org/doc/html/rfc4255
4256https://datatracker.ietf.org/doc/html/rfc4256

SSHのポート番号は22

SSHで通信するとき、ホスト側となるサーバーやネットワーク機器のポート番号の設定は22になります。必要に応じて、10022など、22の前に数字をつけ加えて使用することもあります。

SSHはリモート接続に使われる通信プロトコル

通信プロトコルとは、通信の約束・ルールです。こういう通信をしますよ、という決まりです。

SSHは、パソコン同士、パソコンからサーバーへ、など通信を利用して離れた場所から接続するときに使用する通信プロトコルです。

SSHは暗号化された通信を確立する

SSHはSecure Shellの略語です。Secureという英単語は「安全な」という意味です。

https://ejje.weblio.jp/content/secure]

通信を暗号化して通信するので、安全な接続を確立します。

Telnetとの違い

TelnetとSSHの違いは、ポート番号と、SSHは暗号化されているという点です。

「TELNET」と「SSH」の最大の違いとして、「TELNET」はホスト間の通信を、そのまま状態で行なうのに対し、「SSH」はコンピュータ間の通信を暗号化して行ないます。「TELNET」での通信は暗号化が行なわれていないので、パケットキャプチャー(ネットワーク上に流れるパケットを解析、表示する)ソフトで「パスワードの盗聴」等をされてしまう危険があります。それに対して「SSH」は暗号化した状態で通信を行なっているので、「TELNET」と比較するとセキュリティ面での信頼が高いです。そのため現状のLinux OSでは、リモート接続に「TELNET」ではなく「SSH」が標準で使用されます。

第4回 TELNET+SSH|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
Linux学習に役立つ情報や入門書籍、解説書、コラムの他、オープンソース情報や解説書、参考情報の紹介ページです。入門編・ネットワーク編・Linux学習環境構築編の各コラムもあります。
プロトコルポート番号暗号化
SSH22 / TCP対応
TELNET23 / TCP非対応

Tera TermでLinuxにリモート接続する際に使うプロトコル

Tera TermでLinuxに接続する際に使用している通信プロトコルはSSHです。

LinuxのファイヤウォールでSSHが使用できなくなっている場合などにはTera TermでLinuxにリモート接続することができません。

SSH接続できることを確認するコマンド

対象のサーバーやネットワーク機器がSSHで通信できることを確認するには次のコマンドを使用します。

Windowsから対象の機器にSSH接続できることを確認するには

WindowsのパソコンやWindows Serverがインストールされたサーバーから対象の機器までSSH接続できることを確認するには以下のコマンドを実行します。

1.1.1.1は対象の機器のIPアドレスを入力します。以下のコマンドでは、1.1.1.1のポート番号22の通信プロトコル(TCP/UDPどちらも)で通信が可能かを確認できます。

Test-NetConnection 1.1.1.1 -Port 22

RHELなどのLinuxで対象の機器までSSH接続ができることを確認するには

RHELなどのLinuxから対象の機器までSSHで通信ができるかどうかを確認するには以下のコマンドを実行します。

nping 1.1.1.1 -p 22

npingコマンドを実行できない場合は以下のコマンドでパッケージをインストールします。

yum install nmap

SSHで使用する鍵

SSHは、暗号化アルゴリズムを使用します。

サーバー側で使用する暗号化アルゴリズムとクライアント側で使用する暗号化アルゴリズムが一致していないと、鍵の作成ができずにSSH接続に失敗します。

RHEL9.5では以下の暗号化鍵に対応しています。

RHEL9.5サーバー側で対応する暗号化アルゴリズム

RHEL9.5をサーバー側として使用する際に暗号鍵作成時に対応している暗号化アルゴリズムは以下のコマンドで出力できます。

# ssh d -T | grep Hostkey

RHEL9.5クライアント側で対応する暗号化アルゴリズム

RHEL9.5がクライアント側となってSSHで通信する際の鍵作成に対応している暗号化アルゴリズムは以下で表示できます。

# ssh -Q key

SSHが使用される場面

SSHが使用されているのは以下のような場面です。

  • LinuxにTera Termでリモート接続する
  • Ciscoのネットワーク機器にTera Termでリモート接続する
  • Windows、Linux等にWinSCP等でファイルの転送を行う

SSH SCPとSSH SFTPの違い

Tera TermやWimSCPでファイルを転送する際にもSSHを使用します。厳密にはSSH SCP、SSH SFTPを使用します。SSH, SSH SCP, SSH SFTPはすべて同じポート番号22 / TCPです。

SSH SCP

SCP (Secure Copy Protocol)はファイル転送やリモートコマンドの実行ができるプロトコルです。

SSH SFTP

SFTP (Secure File Transfer Protocol) はSSHをベースにしたファイル転送プロトコルで、データの暗号化や認証機能があります。

まとめ

SSH接続する際に使用する通信プロトコル、SSHの概要をまとめました。SSHはSecure Shellの省略で、暗号化された通信が可能なプロトコルです。サーバーやネットワーク機器などにリモート接続する際に使用する通信プロトコルになります。

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