
リモート接続の時代では、ユーザーとシステム管理者はツールを使用して、リモート アクティビティを安全、セキュア、高速にする必要があります。
また、リモート接続方法について話すときは、SSH と Telnet の 2 つの名前が一番上にあります。
それはSSHですか、それともTelentですか? この記事では、どちらがリモート アクセスに適しているかを探ります。 SSH と Telnet の比較で調べてみましょう。
リモートアクセスとは?
リモート アクセスにより、ユーザーまたは管理者は、インターネットを使用して任意の場所からネットワーク上のコンピューターまたはデバイスにアクセスできます。 これを使用して、ファイルの転送、共同作業、アプリケーション トラフィックの保護など、さまざまな操作を実行できます。
リモート アクセスは、組織が生き残り、繁栄するために不可欠です。 さらに、管理者は、物理的にサーバーの場所に行かなくても、サーバー、ネットワーク、およびアプリケーションを管理するための適切なリモート アクセスが必要です。
SSHとは?
Secure Shell または Secure Socket Shell (SSH) は、セキュリティで保護されていないネットワーク上のコンピューターが相互に安全に通信できるようにするネットワーク プロトコルです。
安全な接続が確立されると、ユーザーまたは管理者はリモート マシンにログインしてアプリケーションをリモートで実行したり、安全なエンドツーエンドの暗号化接続を使用してネットワーク上でファイルを移動したりできます。
SSH は、SSH プロトコルを実装するテクノロジとユーティリティのスイートを指します。 SSH を安全にするために、公開鍵認証、暗号化されたデータ通信、強力なパスワード認証など、いくつかのテクノロジが実装されています。
SSH 開発の背後にある会社は、Netscape Communications Corporation です。 ただし、フィンランドのコンピューター科学者である Tatu Ylonen が SSH の最初の設計を作成しました。 彼は、新しく作成したネットワークで秘密のパスワード スニファを見つけた後、それを開発しました。
SSH はどのように機能しますか?
SSH は、Telnet、rlogin、rsh などの古いリモート接続プロトコルに取って代わります。これらのほとんどは一般的なプロトコルですが、セキュリティに欠けています。 実際、SSH は非常に優れているため、ユーザーはリモート コピー (rcp) やファイル転送プロトコル (FTP) などのファイル転送プロトコルに依存する代わりに SSH を使用しています。
SSH は、SSH クライアントが SSH サーバーに接続するクライアント サーバー モデルを使用します。
- SSH クライアントは、SSH プロトコルを開始するコンピューターまたはデバイスに常駐するプログラムです。 クライアントは SSH サーバーにリクエストを送信し、SSH サーバーがリクエストを受け入れるのを待ちます。 SSH クライアントは、公開鍵暗号化を使用して、正しいサーバーに接続していることを検証および確認します。 このアプローチにより、悪意のあるアクターがサーバーになりすまして、クライアントから重要な情報を盗むことができなくなります。
- SSH サーバーは SSH 接続を処理し、サービスを実行します。 着信要求を受け入れるために、SSH サーバーは常に TCP ポート 22 (デフォルト) をリッスンします。 そして、リクエストを受け取ると、それに応答します。 SSH サーバーは、公開鍵認証を使用してクライアントのチェックと認証も行います。 認証が成功した場合にのみ、クライアントはホスト システムにアクセスできます。
クライアントとサーバーが暗号化を選択します。 彼らは、より弱い暗号化を無効にすることに関与することができます. また、複数の接続をサポートしているため、単一の SSH 接続を介して複数のチャネルを開くことにより、マルチタスク (プログラムのダウンロード、編集、または実行) を行うことができます。
SSH 構文は次のとおりです。
$ ssh [email protected]
user_name は、ホストへの接続に使用するユーザー名です。 ホストは、IP またはドメイン名にすることができます。
ご覧のとおり、簡略化された SSH フローは次の要素で構成されています。
SSH は、優れたセキュリティとデータ整合性保護を備えた強力な接続オプションを提供します。 また、実装を改善するために IETF 標準化にも準拠しており、過去 15 年間そのままです。
SSH について技術的に詳しく知りたい場合は、SSH RFC 4253 標準化ドキュメントを確認してください。 また、SSH の理解に関する etechjp.com の見解もチェックしてください。
テルネットとは?
Telent は Teletype Network の略です。 これは、コマンドライン インターフェイスを介してリモート接続を提供する、もう 1 つの一般的なネットワーク プロトコルです。 SSH と同様に、これを使用してリモート コントロールを取得し、アクションを実行できます。 ただし、SSH が提供するセキュリティ面が欠けています。
セキュリティの欠如は、1969 年に登場したとき、ほとんどの通信がローカル ネットワークで行われていたためです。これは、セキュリティで保護されていないインターネットと比較して安全です。
テレネットはどのように機能しますか?
Telenet は、クライアントとサーバー間で端末間テキストベースの通信を作成することによって機能します。 8 バイト接続を使用するクライアント サーバー モデルを使用します。
接続が確立されると、開いているポートの確認、デバイスの構成、ファイルの編集、さらにはプログラムの実行など、リモート コンピューターでさまざまな操作を実行できます。
Telnet の構文は次のとおりです。
$ telnet hostname port
Telnet の詳細については、接続の問題をテストおよびトラブルシューティングするための Telnet コマンドをご覧ください。
いつ、どこで SSH を使用する必要がありますか?
SSH は主に次の目的で使用されます。
- リモート システム管理
- リモートコマンド実行
- アプリケーションのトラフィックを保護する
- ファイル転送
管理者は、ネットワーク バックアップの作成、ログ ファイルの収集、定期的なメンテナンスの実行などの反復的なタスクを処理する自動 SSH セッションをセットアップすることもできます。
リモート接続操作には、特にセキュリティで保護されていないネットワーク (特にインターネット) で SSH を使用する必要があります。 SSH は、ローカル ネットワークが完全に安全かどうかわからない場合があるため、ローカル ネットワークで使用するための優れたオプションでもあります。
いつ、どこで Telenet を使用する必要がありますか?
Telnet は安全ではないため、安全でないネットワークにリモートで接続するために Telnet を使用することは避けてください。 しかし、それは Telnet が役に立たないという意味ではありません。
TTelnet を使用すると、次のことができます。
- SSH のトラブルシューティング (はい、正しくお読みください 😃)
- FTP、SMTP、および Web サーバーのトラブルシューティングを行います。
- ポートが開いているかどうかを確認する
- 信頼できるインターネット ネットワークへのアクセス。
SSH 対 Telnet
このセクションでは、さまざまな基準で SSH と Telent を比較します。 お急ぎの場合は、SSH と Telnet の比較表をご覧ください。
SSHTelnetSecurity非常に安全で、クライアントとサーバーがネゴシエートして暗号化アルゴリズムをセットアップできます。安全ではなく、接続または Telent パケットを保護するメカニズムがありません。認証SSH は認証目的で公開鍵暗号を使用します。Telnet には認証メカニズムがありません。 保護なしで転送されるユーザー名/パスワードを要求するだけです。OperationSSH はデフォルトで TCP ポート 22 を使用します。 ハッカーが不正アクセスを試みるのを防ぐために、別のポートに変更することができます。 不正アクセスから保護するように構成できます。モデルクライアント サーバー モデル。クライアント サーバー モデル。データ転送速度技術的には Telnet よりも遅いですが、実際の使用ではほとんど認識されません。セキュリティ プロトコルがないため、SSH よりも高速です。表: SSH と Telnet の比較
安全
SSH は安全です。 適切な暗号化プロトコルで接続を安全に保ちます。 ただし、Telenet にはセキュリティ対策がまったくありません。
SSH では、クライアントとサーバーは、エンドツーエンドの暗号化アルゴリズムを含む接続パラメーターをネゴシエートできます。 これにより、脆弱な暗号化アルゴリズムをロックアウトし、SSH 接続を可能な限り安全にするセットアップが可能になります。
クライアントとサーバーの間で TCP/UDP 接続が確立されると、安全な接続の作成が開始されます。
SSH セキュリティの仕組みをよりよく理解するために、SSH パッケージの内容について学びましょう。 SSH パケットは、次の 5 つのコンポーネントで構成されます。
- パケット長: 4 バイト。 パッケージの大きさはどのくらいですか
- パディング量: 1 バイト。 パッケージにはどのくらいのパディングがありますか
- ペイロード: 転送される実際のデータ。 サイズが異なります
- パディング: 実際のパディングであり、前述の SIZE ではありません。 より暗号化するためにペイロードと組み合わせたランダムなバイトです。
- メッセージ認証コード: パッケージ データが変更されていないことを確認するために、パッケージの信頼性を検証するためのタグ。
SSH が暗号化を実装する場合、パッケージの長さとメッセージ認証コードのみを読み取ることができます。 クライアントとサーバーは、メッセージ認証コードを介して接続パラメーターをネゴシエートします。 さらに、SSH パケットは、さまざまな圧縮アルゴリズムを使用して圧縮できます。
Telnet にはセキュリティがありません。 クライアントとサーバーを接続するために、セキュリティで保護されていない認証を実行します。 そのため、悪意のあるアクターは、Telent パッケージを読み取り、接続を危険にさらす可能性があります。
認証
SSH は安全なプロトコルです。 クライアントとサーバーを認証するために、公開鍵暗号化に依存しています。 より専門的に言えば、SSH は非対称または対称暗号化アルゴリズムを使用して、公開鍵と秘密鍵をペアにすることができます。
一方、Telent には認証に対する保護がありません。 その認証プロセスは、接続する前にアカウント名とパスワードを要求します。 また、ユーザー名とパスワードはセキュリティなしで送信されるため、誰でもアクセスできます。
手術
動作に関しては、SSH はデフォルトで TCP ポート 22 で実行されます。 一方、Telnet は TCP ポート 23 を使用します。そのため、ポート番号を指定せずに SSH または Telnet プロトコルを使用します。 このコマンドは、それぞれポート 22 および 23 に自動的に接続しようとします。
ただし、これらのポートはよく知られているため、ハッカーが不正アクセスを実行するために使用できます。
これを克服するために、異なるポートで SSH および Telnet プロトコルを変更できます。 共通ポートを閉じて、1024 ~ 65535 のポートを選択することをお勧めします。
Telent では、コマンドはネットワーク仮想端末 (NVT) 形式で送信されます。 Telent サーバーは、フォーマットを受信して理解することができます。 ご覧のとおり、ここでは暗号化や認証は行われません。
SSH に関しては、クライアント/サーバー接続が確立されると、セッションが生成され、セッション キーで識別されます。 このキーは、セッションが終了するまでトラフィックを暗号化します。 さらに、サーバーはクライアントを検証する必要があります。 SSH 鍵ペアの生成でそれを行います。 検証が完了すると、安全なデータ転送のためにエンドツーエンドの暗号化チャネルが作成されます。
モデル
SSH と Telnet はどちらもクライアント サーバー モデルを使用します。 クライアント/サーバー モデルが次のような複数の利点をもたらすことを考えると、これは素晴らしいことです。
- サーバーは、必要に応じてリソースを追加できる水平方向にスケーリングできます。
- 適切なデータ入力のためにクライアントを最適化できます
- クライアントとサーバー間でアプリケーション処理を分割します
速度とオーバーヘッド
SSH と Telnet を真に理解するには、それらのオーバーヘッドへの影響を理解する必要があります。 一般に、SSH は Telent よりもオーバーヘッドが大きくなりますが、実際のシナリオでは違いに気付くことはほとんどありません。
技術的には、Telnet と SSH は、1 時間の接続後または 1 GB の接続時間後にキーの再生成を行います。
帯域幅に関しては、SSH の方がオーバーヘッドがありますが、ユーザーへの影響は最小限です。 クライアントとサーバーの CPU に関しては、AES 標準がどのように機能し、SSH 接続で実装されているかのおかげで、オーバーヘッドは最小限に抑えられています。
つまり、SSH と Telnet には視覚的な速度やオーバーヘッドの違いはありません。 ただし、技術的に比較すると、SSH は Telnet を介していくらかのオーバーヘッドを運びます。
SSH および Telnet の使用例
このセクションでは、いくつかの SSH と Telnet の使用例を検討します。
SSH ユースケース
SSH の使用例は次のとおりです。
- コマンドのリモート実行
- リモート マシン リソースへの安全なアクセス
- ファイルのリモート転送
- ソフトウェア更新のリモート配信
- 自動ファイル転送をセットアップするか、手動転送を行う
Telnet の使用例
Telnet の使用例には、次のものがあります。
- SSH のトラブルシューティング
- FTP、SMTP、および Web サーバーのトラブルシューティングを行います。
- ポートが開いているかどうかを確認する
- 信頼できるインターネット ネットワークへのアクセス。
最終的な考え: どちらが良いですか?
SSHの方が優れています。 これは、リモート アクセスを安全にする最新の更新されたネットワーク プロトコルです。 これまで、セキュリティの抜け穴は見つかりませんでした。 また、使いやすく、セットアップも簡単です。
一方、Telnet は順調に落ち込みました。 現在、50歳近くになります。 ただし、現在のシナリオではまだ役に立ち、SSH のトラブルシューティングやポートが開いているかどうかの確認に使用できます。 管理者は Telnet を使用して、ほとんどのネットワークの問題をトラブルシューティングできます。