SSH(Secure Shell)는 네트워크 상에서 안전하게 데이터를 교환하기 위한 프로토콜입니다. 특히 원격 서버에 로그인하거나 데이터를 전송할 때 보안을 강화합니다.
SSH 키는 비밀번호 대신 사용될 수 있는 인증 방식입니다. 이는 두 개의 키로 구성된 공개 키 암호화를 사용합니다.
공개 키 (Public Key): 서버에 저장됩니다. 이 키는 누구나 볼 수 있으며, 서버는 이를 사용해 클라이언트의 신원을 확인합니다.
개인 키 (Private Key): 로컬 컴퓨터에 안전하게 저장됩니다. 이 키는 비밀로 유지되며, 클라이언트가 자신임을 증명하는 데 사용됩니다.
PowerShell를 관리자로 실행하기로 띄워서 아래의 명령어를 입력
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com
은 GitLab 계정에 등록된 이메일 주소cat $env:USERPROFILE\.ssh\id_rsa.pub
SSH 키 에이전트는 SSH 연결 세션 동안 개인 키를 메모리에 저장하여 여러 번의 인증을 요구하지 않게 해주는 프로그램입니다. 이를 통해 한 번의 인증으로 여러 번의 SSH 연결을 처리할 수 있습니다. SSH 키를 에이전트에 추가하면, SSH 명령어를 사용할 때마다 비밀번호를 입력하지 않고도 인증할 수 있습니다.
Start-Service ssh-agent
개인 키를 SSH 에이전트에 추가하는 명령어
ssh-add $env:USERPROFILE\.ssh\id_rsa
이렇게 하면 개인 키가 SSH 에이전트에 추가되어, SSH 연결을 할 때마다 자동으로 인증됩니다.
윈도우에서 ssh-agent 서비스가 설정이 안되어 있으면 아래와 같은 오류가 발생할 수 있습니다.
먼저 Windows 기능에서 OpenSSH Client와 OpenSSH Server가 활성화되어 있는지 확인해야 합니다.
services.msc
를 입력 후 확인을 눌러서 서비스 관리 도구를 엽니다.관련 문서: Windows용 OpenSSH 시작