Linux/Unix SSH、 PingFTP、Telnet通信コマンド

⚡ スマートサマリー

Linux通信コマンド(SSHなど) PingFTPやTelnetを使えば、LinuxやUnixマシン上の端末から直接、リモートシステムへの接続、ネットワーク接続性のテスト、ファイルの転送、サーバーの管理を行うことができます。

  • 🔐 SSH: Secure Shellは、TCPポート22上の暗号化されたチャネルを介してリモートマシンに接続し、サーバー管理における安全性の低いTelnetに取って代わります。
  • 📡 Ping: その ping このコマンドは、ホストに到達可能であることを確認し、接続状態を測定するためにICMPパケットを送信します。
  • 📁 FTP: ファイル転送プロトコル(FTP)は、putやgetなどのコマンドを使用して、ローカルコンピュータとリモートコンピュータ間でファイルをアップロードおよびダウンロードします。
  • 💻 Telnet: Telnetはポート23でリモート端末セッションを開きますが、パスワードを含むデータを平文で送信します。
  • 🔒 セキュリティ: Telnetや通常のFTPよりもSSHやSFTPを推奨します。なぜなら、これらは転送中の認証情報とデータを暗号化するからです。
  • 🤖 AI支援: AIアシスタントとGitHub Copilotは、接続コマンドを生成したり、ネットワークエラーの診断を支援したりすることができます。

LinuxとUnixの通信コマンドSSH、 PingFTP、Telnet

作業中に Linux オペレーティングシステムを使用している場合、他のデバイスと通信する必要が生じる場合があります。そのためには、いくつかの基本的なユーティリティを利用できます。これらのユーティリティは、ネットワーク、他のLinuxシステム、およびリモートユーザーとの通信を支援します。下の図は、これらのツールがマシンをネットワークやリモートホストに接続する方法を示しています。

Linuxの通信ユーティリティは、コンピュータをネットワークやリモートシステムに接続するためのものです。

それでは、SSH、 PingFTP、およびTelnet。

SSH

SSH(Secure Shellの略)は、リモートコンピュータに安全に接続するために使用されます。Telnetと比較して、SSHはクライアント/サーバー間の接続がデジタル証明書で認証され、パスワードが暗号化されるため、より安全です。そのため、システム管理者がリモートのLinuxサーバーを制御するために広く使用されています。

SSHを使用してリモートのLinuxマシンにログインするための構文は次のとおりです。

ssh username@ip-address or hostname

以下のスクリーンショットは、sshコマンドを使用してリモートマシンに接続しているターミナルを示しています。

sshコマンドを使用してリモートLinuxマシンにログインする

ログイン後は、自分のターミナルで実行するコマンドはすべて実行できます。例えば、lsコマンドを使用して現在のディレクトリ内のファイル一覧を表示できます。

ls

lsコマンドの出力は以下のようになります。

SSHセッション経由でディレクトリの内容を一覧表示するlsコマンドの出力

同様に、pwdコマンドを実行して現在の作業ディレクトリを表示します。

pwd

pwdコマンドは、以下に示すように、作業ディレクトリのパスを返します。

SSHセッション経由で現在の作業ディレクトリを表示するpwdコマンドの出力

Ping

その ping このユーティリティは、サーバーへの接続が正常かどうかを確認するためによく使用されます。このコマンドは、以下の用途にも使用されます。

  • ネットワークとホストの接続を分析する
  • Tracking ネットワークのパフォーマンスとその管理
  • ハードウェアとソフトウェアの問題のテスト

コマンド構文:

ping hostname or IP-address

たとえば、 ping デバイスをIPアドレスで識別する:

ping 172.16.170.1

その ping このコマンドは、IPアドレスにパケットを送信し、以下に示すように応答を報告します。

の出力 ping IPアドレスにパケットを送信するコマンド

また、ワイルドカード*を使用すると、任意の文字にマッチし、XNUMXつのコマンドで複数のファイルを削除することができます。 ping ドメイン名によるホストの識別:

ping google.com

以下の出力は ping ホスト名を介してホストにアクセスする。

の出力 ping ドメイン名によってホストに到達するコマンド

ここでは、システムが 64 バイトのデータ パケットを IP アドレス (172.16.170.1) またはホスト名 (www.google.com) に送信します。データ パケットが 1 つでも返ってこなかったり、失われたりした場合は、接続エラーを示唆します。インターネット接続は通常、この方法でチェックされます。Ctrl + c を押すと終了できます。 ping ループ。

FTP

FTPはファイル転送プロトコルの略です。コンピュータ間でデータを転送する際に最もよく用いられるプロトコルです。下の図は、ローカルコンピュータとリモートコンピュータ間のFTPファイル転送を表しています。

ローカルコンピュータとリモートホスト間のFTPファイル転送

あなたが使用することができます FTP 以下に送って下さい:

  • ログインしてリモートホストとの接続を確立します。
  • ファイルのアップロードとダウンロード
  • ディレクトリ間を移動する
  • ディレクトリの内容を閲覧する

リモートホストへのFTP接続を確立するための構文は次のとおりです。

ftp hostname or IP-address

このコマンドを入力すると、以下に示すように、ユーザー名とパスワードによる認証を求められます。

FTP経由でユーザー名とパスワードを使用してリモートホストに認証する

接続が確立され、ログインが完了すると、以下のコマンドを使用してさまざまな操作を実行できます。

Command 演算
DIR リモートコンピュータの現在のディレクトリにあるファイルを表示します
CD「姓」 リモートコンピュータ上のディレクトリを「dirname」に変更する
ファイルを置く ローカルコンピュータからリモートコンピュータへ「ファイル」をアップロードする
ファイルを取得する 「ファイル」をリモートコンピュータからローカルコンピュータにダウンロードします
やめます ログアウト

以下のスクリーンショットは、セッション内で実行されている重要なFTPコマンドの一部を示しています。

ターミナルセッションでdir、get、putなどのFTPコマンドを実行する

テルネット

Telnet を使用すると、次のことができます。

  • リモートのLinuxコンピュータに接続します
  • プログラムをリモートで実行し、管理業務を行う

このユーティリティは、 Windows マシン。下の図は、リモートのLinuxコンピュータへのTelnet接続を示しています。

リモートのLinuxコンピュータに接続するTelnetセッション

このユーティリティの構文は次のとおりです。

telnet hostname or IP-address

例えば、自分のコンピューター(localhost)に接続してみましょう。

telnet localhost

デモンストレーションのため、お客様のコンピュータ(localhost)に接続します。ユーティリティは、以下に示すように、ユーザー名とパスワードの入力を求めます。

telnetコマンドでlocalhostに接続し、認証情報の入力を求められる

認証が完了すると、これまでターミナルで行ってきたのと同じようにコマンドを実行できます。唯一の違いは、リモートホストに接続している場合、コマンドはローカルマシンではなくリモートマシンで実行されることです。「logout」コマンドを入力すると、Telnet接続を終了できます。

SSHがTelnetに取って代わった理由

最も古いリモートアクセスツールの1つであるTelnetは、ユーザー名とパスワードを含む入力内容すべてをポート23経由で平文でネットワーク上に送信します。この通信を傍受した者は誰でも認証情報を読み取ることができるため、Telnetは公共のインターネット上では安全ではありません。SSHはまさにこの脆弱性を解消するために設計されました。

SSHはTelnetに比べていくつかの重要な点で優れています。

  • 暗号化機能: SSHはポート22経由でセッション全体を暗号化するため、パスワードやデータは転送中に読み取られることはありません。
  • 認証: SSHはデジタルキーでサーバーを認証し、パスワードよりも強力なキーベースのログインをサポートします。
  • Integrity: SSHは、データ転送中にデータストリームが改ざんされたかどうかを検出します。

こうした保護措置のおかげで、システム管理者は現在、リモートのLinuxサーバーを管理するためにSSHを使用しており、Telnetは主に迅速なテストや信頼できる内部ネットワークでのみ使用されている。

SSH、 PingFTPとTelnetの比較

これらのユーティリティはそれぞれ、リンクのテストからファイルの転送、リモートセッションの実行まで、異なる通信問題を解決します。以下の表は、それぞれのツールを比較したものですので、最適なツールを選ぶ際の参考にしてください。

ユーティリティ 目的 プロトコル デフォルトのポート 暗号化されました
SSH 安全なリモートログインと管理 TCP(SSH) 22 はい
Ping ホストに到達可能かどうかをテストし、レイテンシを測定します。 ICMP なし(ポートレス) 適用されない
FTP ホスト間でファイルを転送する TCP(FTP) 21(データ用は20) いいえ(通常のFTP)
テルネット リモート端末アクセス TCP(Telnet) 23 いいえ

インターネットに公開されるものについては、暗号化されたオプションを選択してください。リモートセッションにはSSH、ファイル転送にはSFTPまたはSCP(いずれもSSH上で動作します)を使用します。

よくあるご質問

FTPはファイルとパスワードを平文で転送するため、ネットワークを監視している人は誰でもそれらを読み取ることができます。一方、SFTPはポート22の暗号化されたSSH接続内で同じ処理を行い、認証情報とデータを保護します。インターネット経由でのあらゆるデータ転送において、SFTPはより安全な選択肢です。

SCP(Secure Copy)は、暗号化されたSSHチャネルを介してホスト間でファイルをコピーするため、SFTPと同様に安全です。SFTPよりも高速ですが、ファイルのコピーのみが可能で、ファイルの一覧表示、名前変更、削除はできないため、機能が制限されています。最新のガイドでは、SCPよりもSFTPまたはrsyncの使用が推奨されています。

SSHまたはTelnetセッションを閉じてローカル端末に戻るには、「exit」または「logout」と入力してEnterキーを押してください。セッションがハングアップした場合は、SSHはエスケープシーケンスも受け付けます。Enterキーを押してから、チルダ(~)とピリオド(~.)を入力すると、接続を強制的に閉じることができます。

いいえ。 Ping ICMPは、ポート番号を必要としないネットワーク層プロトコルです。ICMPエコー要求を送信し、エコー応答を待ちます。TCPやUDPに依存しないため、他のサービスにアクセス可能な場合でも、ファイアウォールがICMPをブロックすることがあります。

デフォルトでは、Linux ping Ctrl + c で停止するまで実行されます。固定回数を送信するには、-c オプションに数値を指定します。例: ping -c 4 google.com は 4 つのパケットを送信した後、自動的に停止します。これはスクリプトやヘルスチェック内で便利です。

「接続拒否」は通常、リモートホストでSSHサービスが実行されていないか、ファイアウォールがポート22をブロックしていることを意味します。再試行する前に、sshdがインストールされ起動していることを確認し、ホストのアドレスとポートをチェックし、ネットワークルールで接続が許可されていることを確認してください。

機械学習ツールはスキャンできます ping AIは、結果、SSHログ、パケットキャプチャなどを分析し、レイテンシの急増、ログイン失敗、人間が見落としがちな異常を特定します。また、AIアシスタントは難解なエラーメッセージを解説し、次の診断コマンドを提案することで、ネットワークのトラブルシューティングを迅速化します。

Yes. GitHubコパイロット SSHログイン、バッチFTP転送、スケジュールされた処理を自動化するシェルスクリプトを作成できます。 ping チェック機能があります。入力時にコマンドフラグやループを提案しますが、実行する前に生成された接続と認証情報の処理を必ず確認してください。