왜 비밀번호 말고 키?
SSH 키가 비밀번호를 암호학적 키쌍으로 대체. private 키는 본인 머신에, public 키는 로그인할 모든 서버에. 서버는 private 키를 보지 않고도 네가 그걸 들고 있다는 걸 확인. 더 빠르고 안전하고 스크립트 가능.
생성
ssh-keygen -t ed25519 -C 'me@laptop'Ed25519 가 모던 기본 — 작고 빠르고 안전. ed25519 모르는 옛 시스템엔 RSA 4096. 기본 경로 (~/.ssh/id_ed25519) 수락 후 passphrase 설정.
public 키를 서버에 복사
ssh-copy-id user@server # 원격 ~/.ssh/authorized_keys 에 append
# macOS 에 ssh-copy-id 없으면
cat ~/.ssh/id_ed25519.pub | ssh user@server 'mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys'ssh-agent — passphrase 한 번만
agent 가 unlock 된 private 키를 메모리에 캐시. 세션당 passphrase 한 번 치면 ssh / scp / git 다 자동으로 키 사용.
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519 # macOS — Keychain 저장
ssh-add -l # 로드된 키 목록macOS 는 agent 자동 시작. ~/.ssh/config 의 Host * 블록에 UseKeychain yes + AddKeysToAgent yes 넣으면 passphrase 가 일회성 잔소리로 끝.
권한
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519 ~/.ssh/config
chmod 644 ~/.ssh/id_ed25519.pub ~/.ssh/known_hosts더 헐거우면 ssh 가 키 거부.