Git ssh 는 뭐지?
— GIT, INFRA, 2021 — 2 min read
배경
시큐어 셀(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 즉, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통 신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜이다. 출처 사전에 자신의 공개키를 서버에 나눠주고, SSH 접속 시 개인키를 이용하여 사용자를 증명하는 원리로 로그인
깃 허브에서 소스 코드를 푸쉬할 때 SSH를 활용해 파일을 전송
공개키
공개키-개인키(비밀키)가 한 쌍으로 이루어져 있는 키 쌍
Public Key vs Private Key
SSH 공개키 만들기
- 이미 공개키가 있는지 확인
cd ~/.ssh
ls
- .ssh 디렉토리도 없으면 ssh-keygen 이라는 프로그램으로 키를 생성 (ssh-keygen 프로그램은 Linux나 Mac의 SSH 패키지에 포함돼 있고 Windows는 'Git for Windows' 안에 있음)
ssh-keygen
- 키를 알 수 있는 명령
cat id_rsa.pub
~/.ssh/id_rsa (개인키) ~/.ssh/id_ras.pub (공개키) 키를 복사해서 GitLab에서 오른쪽 상단 원 옆에 화살표를 눌러 settings -> 왼쪽 바에 SSH keys을 클릭해서 key부분에 작성
SSH 사용이유 왜함?
SSH는 보안적으로 훨씬 안전한 채널을 구성한 뒤 정보를 교환하기 때문에 보다 보안적인 면에서 뛰어남
참고
SSH 공개키 인증을 사용하여 접속하기 Connecting to GitHub with SSH ssh 생활코딩