SSH
Secure Shell (SSH) is a cryptographic network protocol used for operating network services securely over an unsecured network, commonly employed for remote c...
SSH (Secure Shell) は、安全でないネットワーク上でネットワークサービスを安全に運用するために使用される暗号化ネットワークプロトコルです。主な用途には、リモートでのコマンドラインログインと実行が含まれますが、トンネリング(ポートフォワーディング)、ファイル転送(SFTPおよびSCP経由)、その他のセキュアなネットワークサービスもサポートしています。SSHはクライアント・サーバーモデルで動作します。SSHクライアントは、通常標準ポート22で実行されているSSHサーバーへの接続を開始します。接続設定中、クライアントとサーバーは暗号化アルゴリズム(鍵交換、暗号化、メッセージ認証、ホスト認証用)をネゴシエートし、セキュアで暗号化されたチャネルを確立します。ホスト認証は通常、公開鍵暗号を使用して達成され、サーバーはその公開ホストキーを提示し、クライアントはそれを既知のリストまたは信頼された証明機関に対して検証します。ユーザー認証は、パスワード、公開鍵暗号(SSHキー)、またはキーボードインタラクティブ認証などの他の方法を使用して実行できます。認証後、クライアントとサーバー間のすべての後続トラフィックは暗号化され、データの機密性と完全性を保護します。
graph LR
Center["SSH"]:::main
Pre_encryption["encryption"]:::pre --> Center
click Pre_encryption "/terms/encryption"
Rel_tls_ssl["tls-ssl"]:::related -.-> Center
click Rel_tls_ssl "/terms/tls-ssl"
Rel_firewall["firewall"]:::related -.-> Center
click Rel_firewall "/terms/firewall"
Rel_grpc["grpc"]:::related -.-> Center
click Rel_grpc "/terms/grpc"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
SSHは、あなたのコンピューターと別のコンピューターの間に構築する、秘密の超安全なトンネルのようなものです。これにより、他の誰にも盗聴されたり改ざんされたりすることなく、メッセージやコマンドをやり取りできます。
🤓 Expert Deep Dive
SSH employs a robust suite of cryptographic primitives. Key exchange typically uses Diffie-Hellman variants (e.g., ECDHE) to establish a shared secret. Symmetric [encryption](/ja/terms/symmetric-encryption) (e.g., AES-GCM) is then used for bulk data transfer, providing both confidentiality and integrity. Message Authentication Codes (MACs) or authenticated encryption modes ensure data integrity against tampering. Host key verification is crucial to prevent Man-in-the-Middle (MitM) attacks; trust-on-first-use (TOFU) is common but relies on out-of-band verification for true security. Public-key authentication for users offers significant advantages over passwords, eliminating password guessing and enabling automation. Protocol versions (SSH-1 vs. SSH-2) are critical; SSH-1 is considered insecure and deprecated. Vulnerabilities often arise from implementation flaws, weak algorithm choices, or insecure configuration (e.g., disabling strict host key checking).