튜토리얼

SSH가 매번 패스프레이즈를 묻지 않게 하기(ssh-agent)

보안을 위해 키 패스프레이즈는 유지하면서, 연결할 때마다 입력하는 것은 멈추세요 ── ssh-agent에 한 번만 로드하면 됩니다. Linux, macOS, Windows 설정, 패스프레이즈 변경 방법, 그리고 모바일에서의 동등한 방식까지.

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

SSH가 매번 패스프레이즈를 묻지 않게 하기

SSH가 연결할 때마다 Enter passphrase for key를 띄운다면, 패스프레이즈를 제거할 필요는 없습니다(제거하면 개인 키가 보호받지 못하게 됩니다). 대신 키를 한 번 ssh-agent에 로드하면, 해당 세션이 끝날 때까지 잠금 해제된 키를 캐시해 줍니다:

ssh-add ~/.ssh/id_ed25519

패스프레이즈는 한 번만 입력하면 됩니다. 그 이후의 모든 연결은 조용히 이루어집니다. 이 글에서는 Linux/macOS/Windows의 ssh-agent, 자동화하는 방법, 그리고 모바일에서의 동등한 방식을 다룹니다.

패스프레이즈 있음 vs 없음

패스프레이즈는 디스크에 있는 개인 키를 암호화하므로, 노트북을 도난당해도 서버 접근 권한까지 넘어가지는 않습니다. 이 보호는 유지할 가치가 있습니다. 성가신 점 ── 계속 입력해야 하는 것 ── 은 패스프레이즈를 삭제하는 것이 아니라 에이전트로 해결합니다. 즉: 패스프레이즈는 유지하고, 에이전트를 사용하세요.

ssh-agent 사용하기(Linux/macOS)

# start the agent if it isn't running:
eval "$(ssh-agent -s)"

# add your key (type the passphrase once):
ssh-add ~/.ssh/id_ed25519

# list loaded keys:
ssh-add -l

macOS에서는 패스프레이즈를 Keychain에 저장해 두면 재부팅 후에도 자동으로 로드됩니다:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

그리고 ~/.ssh/config에 추가해 두면, 처음 사용할 때 신경 쓰지 않아도 키가 로드됩니다:

Host *
    AddKeysToAgent yes
    UseKeychain yes

Windows의 경우

내장 OpenSSH 에이전트 서비스를 한 번 활성화한 다음, 키를 추가합니다:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Windows 에이전트는 재부팅을 거쳐도 유지되므로, 키를 한 번 추가하면 그 후로는 잊어버려도 됩니다.

패스프레이즈 변경 또는 제거

실제로 변경하고 싶다면(또는 패스프레이즈가 없는 키에 설정하고 싶다면):

ssh-keygen -p -f ~/.ssh/id_ed25519

기존 패스프레이즈를 묻고, 그다음 새 패스프레이즈를 묻습니다(비워 두면 제거). 완전히 제거하는 것은 편리하지만, 파일을 복사한 누구나 당신의 접근 권한을 갖게 된다는 뜻입니다 ── 에이전트를 사용하는 편이 낫습니다.

휴대폰의 경우

모바일 클라이언트는 ssh-agent를 노출하지 않습니다 ── 동등한 기능을 내부적으로 처리합니다. TermAI에서는 키가 기기 Keychain에 저장되며 휴대폰 자체의 생체 인식/암호로 잠금 해제되므로, 연결할 때마다 패스프레이즈를 다시 입력하지 않습니다. 기기의 보안이 바로 에이전트인 셈입니다. 암호화된 키의 보안을 유지하면서 한 번의 탭으로 연결할 수 있습니다.

Keychain에 저장된 키로 연결하는 휴대폰, 패스프레이즈 입력 프롬프트 없음
모바일에서는 기기 Keychain이 ssh-agent의 역할을 합니다: 키는 휴대폰 생체 인식으로 보호되고, 연결은 한 번의 탭 ── 패스프레이즈 재입력 없음.

자주 묻는 질문

SSH가 매번 패스프레이즈를 묻지 않게 하려면?
ssh-add ~/.ssh/id_ed25519로 키를 한 번 ssh-agent에 로드하세요; 해당 세션 동안 잠금 해제된 키를 캐시합니다. ~/.ssh/configAddKeysToAgent yes를 추가하면 자동화됩니다.

대신 패스프레이즈를 제거해야 할까요?
그러지 않는 편이 좋습니다 ── 패스프레이즈는 디스크에 있는 개인 키를 암호화합니다. 편의를 위해서는 ssh-agent를 사용하고 보호는 유지하세요.

재부팅 후에도 패스프레이즈를 유지하려면?
macOS에서는 ssh-add --apple-use-keychainUseKeychain yes를 사용하세요; Windows에서는 ssh-agent 서비스를 자동 시작으로 설정하세요. 그러면 키가 스스로 로드됩니다.

키의 패스프레이즈를 변경하려면?
ssh-keygen -p -f ~/.ssh/id_ed25519를 실행하세요; 키 자체를 바꾸지 않고 패스프레이즈를 변경합니다.

핵심 요약

  • 패스프레이즈를 제거하지 마세요 ── 디스크에 있는 키를 암호화합니다; 대신 에이전트를 사용하세요
  • 캐시하기: ssh-add ~/.ssh/id_ed25519(세션마다 패스프레이즈를 한 번 입력)
  • 자동화: ~/.ssh/configAddKeysToAgent yes; macOS Keychain / Windows 에이전트가 유지
  • 변경하기: ssh-keygen -p -f ~/.ssh/key
  • 모바일: 기기 Keychain + 생체 인식이 에이전트
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