Close

Git SSH 키란 무엇입니까?

SSH 키는 SSH(Secure Shell) 네트워크 프로토콜의 액세스 자격 증명입니다. 인증되고 암호화된 이 보안 네트워크 프로토콜은 보안되지 않은 오픈 네트워크에 있는 컴퓨터 간의 원격 통신에 사용됩니다. SSH는 원격 파일 전송, 네트워크 관리 및 원격 운영 체제 액세스에 사용됩니다. SSH 두문자어는 SSH 프로토콜과 상호 작용하는 데 사용되는 도구 집합을 설명하는 데에도 사용됩니다.

SSH는 한 쌍의 키를 사용하여 원격 당사자 간에 안전한 핸드셰이크를 시작합니다. 키 쌍에는 공개 키와 비공개 키가 포함됩니다. 비공개 키와 공개 키라는 명칭은 둘 다 키라고 부르기 때문에 헷갈릴 수 있습니다. 공개 키를 "자물쇠"로, 비공개 키를 "열쇠"로 생각하면 도움이 됩니다. 공개 키에는 데이터를 암호화하거나 '잠그기' 위해 원격 당사자에게 공개 '잠금' 기능을 부여합니다. 그러면 안전한 장소에 보관된 '비공개' 키로 이 데이터를 열 수 있습니다.


SSH 키를 만드는 방법


SSH 키는 공개 키 암호화 알고리즘을 통해 생성되며 가장 일반적인 것은 RSA 또는 DSA입니다. 전반적으로 SSH 키는 소수 2개와 임의의 시드 변수를 사용하여 공개 키와 비공개 키를 출력하는 수학 공식을 통해 생성됩니다. 공개 키는 비공개 키에서 파생될 수 있지만 비공개 키는 공개 키에서 파생될 수 없는 단방향 공식입니다.

SSH 키는 키 생성 도구를 사용하여 만들어집니다. SSH 명령줄 도구 모음에는 키 생성 도구가 포함되어 있습니다. 대부분의 Git 호스팅 공급자는 SSH 키를 만드는 방법에 대한 가이드를 제공합니다.

Mac 및 Linux에서 SSH 키 생성

OSX 및 Linux 운영 체제에는 SSH 제품군이 설치된 상태로 제공되는 포괄적인 최신 터미널 애플리케이션이 있습니다. SSH 키를 만드는 프로세스는 둘 다 같습니다.

1. 다음을 실행하여 키 만들기를 시작합니다

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Git 로고
관련 자료

Git 치트 시트

Bitbucket 로고
솔루션 보기

Bitbucket Cloud에서 Git에 대해 알아보기

이 명령은 이메일을 레이블로 사용하여 새 SSH 키를 만듭니다

2. 그러면 "키를 저장할 파일을 입력하세요"라는 메시지가 표시됩니다.
파일 위치를 지정하거나 “Enter”를 눌러 기본 파일 위치를 수락할 수 있습니다.

> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

3. 다음 프롬프트에서는 보안 암호를 묻는 메시지가 표시됩니다. 암호는 SSH에 보안 계층을 더하며 SSH 키를 사용할 때마다 암호를 입력해야 합니다. 비공개 키가 저장된 컴퓨터에 누군가 액세스하면 해당 키를 사용하는 모든 시스템에도 액세스할 수 있게 됩니다. 키에 암호를 추가하면 이 시나리오가 발생하지 않도록 할 수 있습니다.

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

이 시점에서는 새 SSH 키가 이전에 지정한 파일 경로에 생성되었을 것입니다.

4. 새 SSH 키를 ssh-agent에 추가합니다

ssh-agent는 SSH 도구 모음에 포함된 또다른 프로그램입니다. ssh-agent는 비공개 키를 보유할 책임이 있습니다. 열쇠고리라고 생각하면 됩니다. 비공개 키를 보유하는 것 외에도 비공개 키로 SSH 요청 서명 요청을 중개하여 비공개 키가 안전하지 않은 상태로 전달되지 않도록 합니다.

새 SSH 키를 ssh-agent에 추가하기 전에 먼저 다음을 실행하여 ssh-agent가 실행되고 있는지 확인하세요.

$ eval "$(ssh-agent -s)"
> Agent pid 59566

ssh-agent가 실행되면 다음 명령으로 로컬 SSH 에이전트에 새 SSH 키를 추가합니다.

ssh-add -K /Users/you/.ssh/id_rsa

이제 새 SSH 키가 등록되었으며 사용할 준비가 되었습니다!

Windows에서 SSH 키 생성


Windows 환경에는 표준 기본 Unix 셸이 없습니다. 완전한 키 생성 경험을 위해서는 외부 셸 프로그램을 설치해야 합니다. 가장 간단한 옵션은 Git Bash를 활용하는 것입니다. Git Bash를 설치하고 나면 Git Bash 셸 내에서 Linux 및 Mac과 동일한 단계를 따를 수 있습니다.

Windows Linux 하위 시스템


최신 Windows 환경은 Windows Linux 하위 시스템을 제공합니다. Windows Linux 하위 시스템은 기존 Windows 환경 내에서 전체 Linux 셸을 제공합니다. Linux 하위 시스템을 사용할 수 있는 경우 이전에 Linux 및 Mac에 대해 설명한 것과 동일한 단계를 Windows Linux 하위 시스템에서 따를 수 있습니다.

요약


SSH 키는 보안 연결을 인증하는 데 사용됩니다. 이 가이드에 따라 SSH 키를 만들고 사용할 수 있습니다. Git은 원격 리포지토리를 푸시하거나 풀할 때 기존 암호 인증 대신 SSH 키를 사용할 수 있습니다. Bitbucket과 같은 최신 호스팅 Git 솔루션은 SSH 키 인증을 지원합니다.


이 문서 공유
다음 토픽

여러분께 도움을 드릴 자료를 추천합니다.

이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.

도구로 가득한 벽을 사용하여 협업하는 사람들

Bitbucket 블로그

DevOps 일러스트레이션

DevOps 학습 경로

Atlassian 전문가와 함께 하는 Demo Den 기능 데모

Bitbucket Cloud가 Atlassian Open DevOps와 작동하는 방법

DevOps 뉴스레터 신청

Thank you for signing up