Skip to main content

새 SSH 키 생성 및 ssh-agent에 추가

기존 SSH 키를 확인한 후 인증에 사용할 새 SSH 키를 생성한 다음 ssh-agent에 추가할 수 있습니다.

Platform navigation

SSH 키 암호 정보

SSH(Secure Shell Protocol)를 사용하여 GitHub의 리포지토리에서 데이터에 액세스하고 쓸 수 있습니다. SSH를 통해 연결할 때 로컬 머신에서 프라이빗 키 파일을 사용하여 인증합니다. 자세한 내용은 SSH 정보을(를) 참조하세요.

SSH 키를 생성할 때 암호를 추가하여 키를 추가로 보호할 수 있습니다. 키를 사용할 때마다 암호를 입력해야 합니다. 키에 암호가 있고 키를 사용할 때마다 암호를 입력하지 않으려는 경우 SSH 에이전트에 키를 추가할 수 있습니다. SSH 에이전트는 SSH 키를 관리하고 암호를 저장합니다.

SSH 키가 아직 없는 경우 인증에 사용할 새 SSH 키를 생성해야 합니다. SSH 키가 이미 있는지 확실하지 않은 경우 기존 키를 확인할 수 있습니다. 자세한 내용은 기존 SSH 키 확인을(를) 참조하세요.

하드웨어 보안 키를 사용하여 GitHub에 인증하려면 하드웨어 보안 키에 대한 새 SSH 키를 생성해야 합니다. 키 쌍으로 인증할 때 하드웨어 보안 키를 컴퓨터에 연결해야 합니다. 자세한 내용은 OpenSSH 8.2 릴리스 정보를 참조하세요.

새 SSH 키 생성

로컬 머신에서 새 SSH 키를 생성할 수 있습니다. 키를 생성한 후 GitHub.com의 계정에 공개 키를 추가하여 SSH를 통한 Git 작업에 대한 인증을 사용하도록 설정할 수 있습니다.

Note

GitHub는 2022년 3월 15일에 이전의 안전하지 않은 키 형식을 삭제하여 보안을 향상시켰습니다.

해당 날짜를 기준으로 DSA 키(ssh-dss)는 더 이상 지원되지 않습니다. GitHub에서 개인 계정에 새 DSA 키를 추가할 수 없습니다.

valid_after가 2021년 11월 2일 이전인 RSA 키(ssh-rsa)는 서명 알고리즘을 계속 사용할 수 있습니다. 해당 날짜 이후에 생성된 RSA 키는 SHA-2 서명 알고리즘을 사용해야 합니다. SHA-2 서명을 사용하려면 일부 이전 클라이언트를 업그레이드해야 할 수 있습니다.

  1. 터미널를 엽니다.

  2. 아래 텍스트를 붙여넣은 후 예제에서 사용한 메일을 GitHub 메일 주소로 바꿔서 붙여넣습니다.

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    Note

    Ed25519 알고리즘을 지원하지 않는 레거시 시스템을 사용하는 경우 다음을 사용합니다.

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    그러면 제공된 이메일을 레이블로 사용하여 새 SSH 키가 생성됩니다.

    > Generating public/private ALGORITHM key pair.
    

    "키를 저장할 파일을 입력하세요"라는 프롬프트가 표시되면 입력 키를 눌러 기본 파일 위치를 적용할 수 있습니다. 이전에 SSH 키를 만든 적이 있는 경우 ssh-keygen이 다른 키를 다시 작성하도록 요청할 수 있으며, 이 경우 사용자 지정 이름을 가진 SSH 키를 만드는 것이 좋습니다. 이를 수행하려면 본 파일 위치를 입력하고 id_ALGORITHM을 사용자 지정 키 이름으로 바꿉니다.

    > Enter a file in which to save the key (/home/YOU/.ssh/id_ALGORITHM):[Press enter]
    
  3. 프롬프트에 보안 암호를 입력합니다. 자세한 내용은 SSH 키 암호 사용을(를) 참조하세요.

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

ssh-agent에 SSH 키 추가

키를 관리하기 위해 ssh-agent에 새 SSH 키를 추가하기 전에 기존 SSH 키를 확인하고 새 SSH 키를 생성해야 합니다.

  1. 백그라운드에서 ssh-agent를 시작합니다.

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

    환경에 따라 다른 명령을 사용해야 할 수 있습니다. 예를 들어 ssh-agent를 시작하기 전에 sudo -s -H를 실행하여 루트 액세스를 사용해야 하거나 exec ssh-agent bash 또는 exec ssh-agent zsh를 사용하여 ssh-agent를 실행해야 할 수 있습니다.

  2. ssh-agent에 SSH 프라이빗 키를 추가합니다.

    다른 이름으로 키를 만들거나 이름이 다른 기존 키를 추가하는 경우 명령의 _id_ed25519_를 프라이빗 키 파일의 이름으로 바꿉니다.

    ssh-add ~/.ssh/id_ed25519
    
  3. GitHub의 계정에 SSH 퍼블릭 키를 추가합니다. 자세한 내용은 GitHub 계정에 새 SSH 키 추가을(를) 참조하세요.

하드웨어 보안 키에 대한 새 SSH 키 생성

macOS나 Linux를 사용하는 경우 새 SSH 키를 생성하기 전에 SSH 클라이언트를 업데이트하거나 새 SSH 클라이언트를 설치해야 할 수 있습니다. 자세한 내용은 오류: 알 수 없는 키 유형을(를) 참조하세요.

  1. 컴퓨터에 하드웨어 보안 키를 삽입합니다.

  2. 터미널를 엽니다.

  3. 아래 텍스트를 붙여넣은 후 예제의 메일 주소를 GitHub 계정과 연결된 메일 주소로 바꿉니다.

    ssh-keygen -t ed25519-sk -C "your_email@example.com"
    

    Note

    명령이 실패하고 invalid format 또는 feature not supported, 오류가 발생하는 경우 Ed25519 알고리즘을 지원하지 않는 하드웨어 보안 키를 사용하고 있을 수 있습니다. 대신 다음 명령을 사용합니다.

    ssh-keygen -t ecdsa-sk -C "your_email@example.com"
    
  4. 메시지가 표시되면 하드웨어 보안 키의 단추를 터치합니다.

  5. “Enter a file in which to save the key”(키를 저장할 파일 입력)라는 메시지가 표시되면 Enter 키를 눌러 기본 파일 위치를 적용합니다.

    > Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
    
  6. 암호를 입력하라는 메시지가 표시되면 Enter 키를 누릅니다.

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    
  7. GitHub의 계정에 SSH 퍼블릭 키를 추가합니다. 자세한 내용은 GitHub 계정에 새 SSH 키 추가을(를) 참조하세요.