튜토리얼

특정 SSH 키를 사용하는 방법(호스트별, 그리고 Git용)

-i로 SSH가 하나의 개인 키를 사용하도록 강제하고, ~/.ssh/config의 IdentityFile + IdentitiesOnly로 호스트별로 영구화하며, 호스트 별칭이나 GIT_SSH_COMMAND로 Git에 특정 키를 사용하세요.

CC Chen Chen· 창업자·2026년 6월 24일·5분 분량

특정 SSH 키를 사용하는 방법

SSH가 특정 개인 키를 사용하도록 강제하려면 -i로 그 키를 지정합니다:

ssh -i ~/.ssh/work_key user@host

호스트별로 영구적으로 설정하고 SSH가 다른 키를 먼저 시도하지 못하게 하려면 ~/.ssh/config에서 IdentityFileIdentitiesOnly를 사용하세요. Git의 경우 가장 깔끔한 답은 호스트별 설정이나 GIT_SSH_COMMAND입니다. 각각 살펴봅시다.

일회성: -i 플래그

ssh -i ~/.ssh/work_key user@host

빠른 테스트에 좋습니다. 하지만 단독으로는 -i가 그 키를 SSH가 시도하는 키 목록에 추가할 뿐입니다——여러 키가 로드되어 있으면 여전히 다른 키를 먼저 제시해 too many authentication failures에 부딪힐 수 있습니다. 이 키 제시하려면 -o IdentitiesOnly=yes를 추가하세요:

ssh -i ~/.ssh/work_key -o IdentitiesOnly=yes user@host

영구적으로: ~/.ssh/config의 호스트별 설정

"이 서버에는 항상 이 키를 사용한다"의 올바른 방법——한 번 설정하고 잊으세요:

Host work
    HostName 203.0.113.7
    User deploy
    IdentityFile ~/.ssh/work_key
    IdentitiesOnly yes

이제 ssh work는 정확히 그 키를 사용하고 다른 것은 제시하지 않습니다. IdentitiesOnly yes가 중요한 줄입니다——이것 없이는 클라이언트가 여전히 다른 키들을 서버 앞에 먼저 늘어놓습니다. (설정 파일에 대한 자세한 내용: SSH 설정 파일 가이드.)

Git에 특정 키 사용하기

깔끔한 두 가지 선택지. 호스트별 설정——Git 호스트에 자체 키를 가진 별칭을 부여합니다:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_key
    IdentitiesOnly yes

또는 단일 명령에는 Git이 사용하는 SSH 명령을 재정의합니다:

GIT_SSH_COMMAND="ssh -i ~/.ssh/github_key -o IdentitiesOnly=yes" git clone [email protected]:user/repo.git

여러 Git 계정을 사용한다면 설정 방식이 더 좋습니다: 각 계정에 자체 Host 별칭(예: github-work)을 부여하고 그 별칭으로 clone하세요.

휴대폰에서

모바일 클라이언트는 ~/.ssh/config를 사용하지 않습니다——연결마다 키를 고정합니다. TermAI에서는 저장된 각 연결이 자체 인증 설정을 가지므로 "이 서버에 이 특정 키를 사용한다"는 그저 그 연결에서 키를 선택하는 것입니다; 정확히 그 키 하나만 제시합니다. IdentitiesOnly에 해당하는 것이 자동이어서 키가 너무 많다는 오류에 걸리는 일이 없습니다.

특정 키 하나로 설정된 휴대폰 SSH 연결
모바일에서는 연결마다 키를 선택합니다——IdentityFile + IdentitiesOnly에 해당하며, 폼에서 한 번만 설정합니다.

자주 묻는 질문

SSH가 특정 키를 사용하도록 어떻게 지정하나요?
단일 명령에는 ssh -i ~/.ssh/key user@host를 사용하거나, 영구적인 호스트별 선택에는 ~/.ssh/configHost 블록에서 IdentityFile을 설정하세요. IdentitiesOnly yes를 추가하면 그 키만 제시됩니다.

IdentitiesOnly는 무엇을 하나요?
에이전트와 ~/.ssh 안의 다른 모든 키를 클라이언트가 제시하는 것을 막습니다. 이것 없이는 -i가 당신의 키를 목록에 추가할 뿐이어서 "too many authentication failures"를 유발할 수 있습니다.

Git에 특정 SSH 키를 어떻게 사용하나요?
호스트에 자체 IdentityFile을 가진 ~/.ssh/config 블록을 부여하거나, 단일 명령에는 GIT_SSH_COMMAND="ssh -i ~/.ssh/key -o IdentitiesOnly=yes"를 설정하세요.

GitHub 계정마다 다른 키를 사용할 수 있나요?
네——~/.ssh/config에 계정마다 Host 별칭을 만들어 각각 자체 키를 갖게 하고, 그 별칭으로 clone하세요.

핵심 요약

  • 일회성: ssh -i ~/.ssh/key -o IdentitiesOnly=yes user@host
  • 영구적: ~/.ssh/configHost별로 IdentityFile + IdentitiesOnly yes
  • Git: 호스트별 설정, 또는 단일 명령의 GIT_SSH_COMMAND
  • 왜 IdentitiesOnly인가: -i만으로는 여전히 다른 키를 제시 → too-many-auth
  • 모바일: 연결마다 키 선택(IdentitiesOnly는 자동)
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog