SSH(Secure Shell)
SSH
SSH(Secure Shell)는 네트워크 상에서 안전하게 원격 접속을 할 수 있도록 해주는 프로토콜입니다. 원격 서버(Git, AWS, etc)와 데이터를 암호화된 상태로 주고받아 보안을 강화하는 데 사용됩니다.
주요 특징
- 보안성
- SSH는 데이터를 암호화하기 때문에, 중각에 데이터가 가로채여도 내용을 읽을 수 없습니다.
- 로그인 정보(아이디와 비밀번호)와 파일 전송 데이터 모두 안전하게 보호됩니다.
- 원격 접속
- 사용자가 물리적으로 접근하지 않아도 다른 컴퓨터에 접속해 명령어를 실행할 수 있습니다.
- 주로 서버 관리, 파일 전송, 배포 작업 등에 사용됩니다.
- 공개 키 기반 인증
- SSH는 비밀번호 대신 공개 키/개인 키(Private/Public Key)를 사용해 더 안전한 인증 방식을 제공합니다.
- 개인 키는 사용자만 가지고 있고, 공개 키는 접속할 서버에 저장됩니다.
개인키(Private Key) & 공개키(Public Key)
암호화 및 인증을 위한 쌍을 이루는 키입니다. 이를 통해 서버와 클라이언트가 안전하게 통신할 수 있습니다.
공개키(Public Key)
- 모두에게 공개되는 키입니다.
- 서버에 등록됩니다. 즉, 서버는 공개키를 가지고 있습니다.
- 서버는 공개키를 사용하여 데이터를 암호화하거나 클라이언트의 신원을 확인할 수 있습니다.
개인키(Private Key)
- 자신만 알 수 있는 비밀 키입니다.
- 개인키는 클라이언트(사용자)의 컴퓨터에 안전하게 보관됩니다.
- 서버와 통신할 때 개인키를 사용해 데이터를 복호화하거나, 자신이 맞는지 인증을 할 수 있습니다.
Note : 해당 프로토콜이 안전한 이유는 바로 개인키가 자신의 로컬 머신에만 존재하기 때문입니다. 따라서 절대로 외부에 공유하지 마세요.