특정 SSH 키를 사용하는 방법
SSH가 특정 개인 키를 사용하도록 강제하려면 -i로 그 키를 지정합니다:
ssh -i ~/.ssh/work_key user@host 호스트별로 영구적으로 설정하고 SSH가 다른 키를 먼저 시도하지 못하게 하려면 ~/.ssh/config에서 IdentityFile과 IdentitiesOnly를 사용하세요. 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 git@github.com:user/repo.git 여러 Git 계정을 사용한다면 설정 방식이 더 좋습니다: 각 계정에 자체 Host 별칭(예: github-work)을 부여하고 그 별칭으로 clone하세요.
휴대폰에서
모바일 클라이언트는 ~/.ssh/config를 사용하지 않습니다——연결마다 키를 고정합니다. TermAI에서는 저장된 각 연결이 자체 인증 설정을 가지므로 "이 서버에 이 특정 키를 사용한다"는 그저 그 연결에서 키를 선택하는 것입니다; 정확히 그 키 하나만 제시합니다. IdentitiesOnly에 해당하는 것이 자동이어서 키가 너무 많다는 오류에 걸리는 일이 없습니다.
자주 묻는 질문
SSH가 특정 키를 사용하도록 어떻게 지정하나요?
단일 명령에는 ssh -i ~/.ssh/key user@host를 사용하거나, 영구적인 호스트별 선택에는 ~/.ssh/config의 Host 블록에서 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/config의Host별로IdentityFile+IdentitiesOnly yes - Git: 호스트별 설정, 또는 단일 명령의
GIT_SSH_COMMAND - 왜 IdentitiesOnly인가:
-i만으로는 여전히 다른 키를 제시 → too-many-auth - 모바일: 연결마다 키 선택(IdentitiesOnly는 자동)
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.