~/.ssh/config 기본 구조
CODE
Host <별칭>
HostName <실제 IP 또는 도메인>
User <사용자명>
Port <포트>
IdentityFile <키 파일 경로>파일 생성:
Bash
mkdir -p ~/.ssh
touch ~/.ssh/config
chmod 600 ~/.ssh/config기본 서버 등록
CODE
# ~/.ssh/config
# 운영 서버
Host prod
HostName 203.0.113.10
User deploy
Port 2222
IdentityFile ~/.ssh/prod_rsa
# 개발 서버
Host dev
HostName 203.0.113.20
User ubuntu
IdentityFile ~/.ssh/dev_rsa
# AWS 인스턴스
Host aws-web
HostName ec2-12-34-56-78.ap-northeast-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ssh/my-key.pemBash
# 이제 이렇게 접속
ssh prod
ssh dev
ssh aws-web글로벌 기본값 설정
CODE
Host *
ServerAliveInterval 60 # 60초마다 keepalive
ServerAliveCountMax 3 # 3번 응답 없으면 종료
AddKeysToAgent yes # ssh-agent에 자동 추가
IdentityFile ~/.ssh/id_ed25519
StrictHostKeyChecking ask # 새 호스트 확인 요청점프 호스트 (Bastion/Jump Server)
외부에서 직접 접속할 수 없는 내부 서버에 경유 서버를 통해 접속합니다.
CODE
Host bastion
HostName 203.0.113.1
User admin
IdentityFile ~/.ssh/bastion_rsa
Host internal-db
HostName 10.0.1.50
User ubuntu
IdentityFile ~/.ssh/internal_rsa
ProxyJump bastion # bastion 경유
# 구버전 OpenSSH:
# ProxyCommand ssh -W %h:%p bastionBash
ssh internal-db # bastion 경유 자동 접속포트포워딩 자동 설정
CODE
Host tunnel-db
HostName prod-server.example.com
User deploy
LocalForward 15432 localhost:5432 # 로컬 15432 → 서버 5432
LocalForward 16379 localhost:6379 # 로컬 16379 → 서버 6379Bash
ssh -N tunnel-db # 포트포워딩만 (셸 없이)
# 이제 로컬에서 localhost:15432로 PostgreSQL 접속 가능ssh-agent — 키 자동 관리
비밀번호 없이 키를 반복 사용하려면 ssh-agent를 활용합니다.
Bash
# agent 시작
eval "$(ssh-agent -s)"
# 키 등록
ssh-add ~/.ssh/id_ed25519
ssh-add ~/.ssh/prod_rsa
# 등록된 키 목록
ssh-add -l
# 모든 키 제거
ssh-add -D
# macOS: Keychain에 저장 (재부팅 후에도 유지)
ssh-add --apple-use-keychain ~/.ssh/id_ed25519~/.ssh/config에 추가하면 자동 로드됩니다:
CODE
Host *
AddKeysToAgent yes
UseKeychain yes # macOS 전용파일 권한 (중요)
Bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/authorized_keys권한이 너무 넓으면 SSH가 키 파일 사용을 거부합니다.
편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
관련 공식 문서GNU/Linux man 페이지 ↗
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.