~/.ssh/config 파일: 긴 명령어 대신 짧은 이름
머신을 한 번만 기술하고 두 단어 명령으로 접속하는 방법, 키와 사용자, 포트를 설정하고 연결을 유지하는 방법을 알아봐요.
업데이트 2026년 8월 23일
ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10 대신 ssh vds를 입력할 수 있어요. 내 컴퓨터에서 한 번만 설정하면 돼요.
파일 위치
macOS와 Linux에서는 ~/.ssh/config예요. Windows에서는 C:\Users\<you>\.ssh\config(Windows Terminal에서는 동일하게 ~/.ssh/config 경로)예요. 파일이 없을 수도 있으니 만들어 주세요:
mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config
권한이 중요해요. 파일을 모든 사용자가 읽을 수 있으면 클라이언트가 읽기를 거부할 수 있어요.
최소 설정
Host vds
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
이제 이렇게 작동해요:
ssh vds
다른 도구들도 이 짧은 이름을 인식해요:
scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/
파일 복사는 scp와 rsync 및 SFTP를 참고하세요.
유용한 매개변수
Host vds
HostName 203.0.113.10
User artem
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
| 매개변수 | 필요한 이유 |
|---|---|
IdentitiesOnly yes | 클라이언트가 지정한 키만 제시해요. 키가 많고 서버가 시도 횟수를 끊을 때 유용해요 |
ServerAliveInterval | 30초마다 패킷을 보내 비활성 상태로 연결이 끊기지 않게 해요 |
Port | SSH를 비표준 포트로 옮긴 경우 |
User | 이 호스트의 기본 사용자 이름 |
여러 머신
Host vds-web
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Host vds-db
HostName 203.0.113.20
User artem
IdentityFile ~/.ssh/id_ed25519
Host *
ServerAliveInterval 30
Host * 블록은 모든 항목에 공통 설정을 적용해요. 순서가 중요해요. 각 매개변수는 첫 번째로 일치하는 항목이 우선하므로 공통 블록은 맨 아래에 두세요.
흔한 실수
- 탭 들여쓰기와 끝의 공백 — 일부 클라이언트가 문제를 제기해요. 공백 네 칸을 사용하세요.
- Windows에서 백슬래시가 들어간 키 경로 —
~/.ssh/id_ed25519라고 쓰세요. HostName누락 — 클라이언트가vds라는 호스트에 연결을 시도하고 찾지 못해요.- 파일 권한 644 —
600으로 설정하세요.
특정 호스트에 정확히 무엇이 적용되는지 확인하려면:
ssh -G vds
ssh -v vds
첫 번째 명령은 최종 매개변수를 출력하고, 두 번째는 연결 진행 상황을 보여줘요. 어떤 키가 제시되었는지 알 수 있어요.
config파일은 내 쪽만 설명해요. 머신이 무엇을 허용하는지는 그 머신의/etc/ssh/sshd_config가 결정해요. SSH 키를 참고하세요.