C.W.K.
Stream
Lesson 07 of 12 · published

SSH Agent

~15 min · ssh-agent, passphrase, keychain, agent-forwarding

Level 0Pinger
0 XP0/101 lessons0/12 achievements
0/150 XP to next level150 XP to go0% complete

네가 진짜 원하는 passphrase 메모리

Private key 에 passphrase 있으면 (있어야 해) 매 SSH 명령마다 쳐야 해. ssh-agent 가 복호화된 private key 를 메모리에 들고 있는 작은 데몬 — passphrase 한 번 치면 agent 가 세션 나머지 동안 키 사용. macOS 에선 그 위에 시스템 Keychain 까지 얹을 수 있어 — passphrase 가 재부팅 넘어서도 유지.

ssh-agent 쓰기

macOS 는 로그인 세션에 ssh-agent 자동 시작. Linux 에선 데스크톱 환경이 보통 시작 — 안 되면 셸에서 eval "$(ssh-agent -s)".

Agent forwarding (-A) 와 그 함정

Agent forwarding (-A) 는 원격 머신이 네 로컬 agent 쓰게 해줌 — 같은 키로 bastion SSH 한 다음 거기서 internal server 도달할 때 편함. 함정 — 중간 host 에 root 있는 사람은 forwarded agent socket 으로 다른 어떤 곳에든 너 행세 가능.

Hop-through 시나리오엔 ProxyJump(Track 3) 가 거의 항상 더 안전. -A 는 완전 신뢰하는 머신 사이에서만.

Code

일상 agent 명령·bash
# Start an agent (macOS does this automatically)
eval "$(ssh-agent -s)"

# Add your key (asks for passphrase)
ssh-add ~/.ssh/id_ed25519

# macOS — also store the passphrase in Keychain so it persists across reboots
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

# What's loaded?
ssh-add -l

# Drop everything (e.g., before stepping away from a public Mac)
ssh-add -D

# Forward your agent for one connection
ssh -A you_username@bastion

External links

Exercise

ssh-add -l 돌려. "no identities" 라 하면 ssh-add ~/.ssh/id_ed25519 돌려. 알려진 host 에 SSH — passphrase 다시 안 물어야 해. macOS 면 ssh-add --apple-use-keychain ~/.ssh/id_ed25519 시도, 로그아웃, 다시 로그인, ssh-add -l 다시 — Keychain 덕에 키 여전히 로드돼 있어야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.