병호의 IT새싹키우기

SSH(Secure Shell) 란? 본문

기타

SSH(Secure Shell) 란?

병호네 2025. 2. 4. 18:06


💡 SSH란?

SSH란 Secure Shell Protocol, 즉 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜입니다. 

 

SSH 프로토콜의 작동 방식

프로토콜은 클라이언트-서버 모델에서 작동하며, 이는 SSH 서버에 연결되는 SSH 클라이언트에 의해 연결이 설정됨을 의미합니다. SSH 클라이언트는 연결 설정 프로세스를 구동하고 공용 키 암호화를 사용하여 SSH서버의 ID를 확인합니다. 설정 단계 후 SSH프로토콜은 강력한 대칭 암호화 및 해싱 알고리즘을 사용하여 클라이언트와 서버 간에 교환되는 데이터의 개인 정보 보호 및 무결성을 보장합니다.

 

아래의 그림은 SSH 프로토콜의 단순화된 setup flow를 나타낸다.

 

3. SSH 키를 통한 강력한 인증

사용자 인증에 사용할 수 있는 몇가지 옵션들이 있습니다. 가장 일반적인 것은 비밀번호와 public key(공용 키) 인증입니다.

 

공용 키 인증 방법은 주로 자동화에 사용되며 때로는 시스템 관리자가 Single Sign-on (SSO)

에 사용하기도 합니다. SSH는 우리가 생각하는 것보다 훨씬 더 널리 사용된다. 이 아이디어는 public-key 와 private -key 쌍으로 가지고 있고, 서버에서 개인 키 엑세스 권한을 가진 모든 사용자에게 서버에 대한 엑세스 권한을 부여하고 권한을 부여하도록 공용 키를 구성하는 것입니다(?). 인증에 사용되는 키를 SSH키 라고 합니다. 공개 키 인증은 미국 정부에서 사용하는 CAC및 PIV카드와 같은 스마트 카드에서도 사용됩니다.

 

키 기반 인증의 주된 용도는 보안 자동화를 사용하는 것입니다. 자동화된 보안 Shell 파일 전송은 애플리케이션을 원활하게 통합하고 자동화된 시스템 및 구성 관리를 위해 사용됩니다.

 

상상하는 것보다 훨씬 많은 단체들이 SSH키를 가지고 있으며 SSH키 관리가 매우 중요해 졌습니다. SSH키는 사용자 이름 및 암호와 마찬가지로 액세스 권한을 부여합니다. 따라서 유사한 권한 설정 및 종료 프로세스가 필요합니다.

 

 

 

4. SSH의 강력한 암호화 기능과 무결성 보호 기능

SSH 클라이언트와 서버 사이에 연결이 설정되면, 전송되는 데이터는 설정된 파라미터에 따라서 암호화된다. 

설정에 의해 클라이언트와 서버는 사용할 대칭 암호화 알고리즘에 동의하고 사용할 암호화 키를 생성한다.

통신 당사자 간의 트래픽은 업계 표준의 강력한 암호화 알고리즘(AES, Advanced Encryption Standard)으로 보호되며, SSH 프로토콜도 표준 해시 알고리즘(SHA-2, Standard Hashing Algorithm)을 사용하여 전송 데이터의 무결성을 보장하는 매커니즘을 포함한다.

 

 

 

 

5. IETFSSH표준 및 자세한 기술 문서   

Tatu Ylonen: SSH - Secure Login Connections over the Internet. Proceedings of the 6th USENIX Security Symposium, pp. 37-42, USENIX, 1996.

요약하자면 git과 같은 파일 전송 과정이나 원격 조종과 같은 분야에서 사용하는 보안 프로토콜이라 할 수 있다.

'기타' 카테고리의 다른 글

DB접근제어(Database Access Control) 란?  (2) 2025.02.11
서버접근제어란?  (0) 2025.02.11
IPv4 와 IPv6의 차이  (0) 2025.02.10
DBMS 가 나누어진 이유  (0) 2025.02.10
솔루션이란?  (0) 2025.02.04