TTPS 는 SSL을 이용한 보안 프로토콜이었다.
이 둘을 먼저 비교해 본 후 SSL과 SSH의 차이를 알아보자
HTTPS is a combination of the Hypertext Transfer Protocol (HTTP) with either SSL or TLS.
It provides encrypted communications and a secure ID of a web server.
SSL is simply a protocol that enables secure communications online.
출처 nozakconsulting.com
SSL은 보안 통신을 하기 위한 보안용 프로토콜이다.
HTTPS는 이 SSL로 통신을 암호화하는 HTTP의 보안버전이다.
따라서 SSL은 연결을 암호화하는 것으로 가장 잘 알려진 용도가 HTTPS 인 것이다.
우선 Git 에서 HTTPS를 사용하여 리모트 저장소에 사용하는 경우는 매번 사용자 이름과 암호를 입력해야한다. 하지만 이는 SSH 프로토콜을 사용하여 리모트 저장소에 접근할 때 Passphase 없이 생성한 SSH Key를 사용하면 사용자이름과 암호를 입력하지 않고도 안전하게 데이터를 주고받을 수 있다. 반면 HTTP 프로토콜을 사용하는 경우는 매번 사용자이름과 암호를 입력해야 한다.
다행히도 Git은 이렇게 매번 인증정보(Credential)를 입력하는 경우 인증정보를 저장해두고 자동으로 입력해주는 시스템을 제공한다. Git Credential 기능이 제공하는 옵션은 아래와 같다.
SSL(Secure Sockets Layer)
보안 소켓 계층을 이르는 말로, 인터넷에서 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜
포트 443을 사용. 2018년 7월부터 모든 웹사이트는 SSL인증서를 설치하여 연결을 암호화해야한다.
SSH(Secure Shell)
원격 컴퓨터에 안전하게 엑세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜. 강력한 암호화 기능을 구현해 모든 데이터가 암호화 되기에 높은 보안을 지원
포트 22 사용. 클라이언트 인증도 필요하다.
따라서
https
단순하게 사용자의 id, password로 인증하는것
ssh
내 컴퓨터의 있는 퍼블릭 key로 인증하는것
참고)
https://youbiiin.tistory.com/10
https://algoroot.tistory.com/16
정보에 감사드립니다.