SSH
Secure Shell (SSH) is a cryptographic network protocol used for operating network services securely over an unsecured network, commonly employed for remote comm...
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](/ko/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).