매일 사용하지만 무심했던.. 어떻게 동작하는지 자세히 알고 싶어 공부 및 작성하게 되었습니다.
Secure Shell Protocol은 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 public network를 통해 서로 통신할때 보안적으로 안전하게 통신하기 위해 사용하는 프로코콜이다.
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜
기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계
강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다.
기본적으로는 22번 포트를 사용
✍ Telnet, rlogin, rsh는 왜 보안에 취약한가?
FTP나 Telnet 프로토콜은 민감한 정보를 직접 네트워크를 통해 넘기기 때문에 누구나 해당 정보를 열어볼 수 있어 보안에 상당히 취약하다.
SSH는 단순한 평문 전달 방식이 아닌 대칭키 암호화 방식(or 비대칭키 암호화 방식)을 사용 합니다.
대칭키 암호화 방식은 클라이언트와 서버는 공개키(publick key)와 개인키(private key)를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 됩니다. 때문에 한쌍(pair)의 SSH 키가 필요합니다.
1. Publick Key (공개키)
2. Private Key (개인키)
ssh-keygen는 key pair를 생성하는 명령이며 OpenSSH 라이브러리에 포함되어 있습니다. ssh-keygen 명령은 비밀키를 먼저 만들고 그 값과 passphrase를 활용해 공개키를 만듭니다.
만들어진 key pair는 시스템 자동 로그인, SSO(Single Sign-On) 또는 서버 호스트 사설 인증 등에 사용할 수 잇습니다.
SSH란?
https://baked-corn.tistory.com/52
SSH 명칭부터 접속까지 한 번에 이해하기 1
https://library.gabia.com/contents/infrahosting/9002/
SSH-KEYGEN으로 인증키 생성하는 원리와 방법 https://brunch.co.kr/@sangjinkang/52
Secure SHell, SSH - Wiki
https://ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8