~/.ssh/config
자주 사용하는 연결 옵션을 클라이언트 설정 파일에 저장.
실행 전 확인
첫 블록은 셸 명령이 아닌 파일 내용입니다. 로컬 ~/.ssh/config를 편집하세요. 일반적으로 먼저 얻은 값이 적용되므로 구체적인 Host를 광범위한 Host *보다 앞에 배치합니다. 파일 권한을 보호하고(보통 chmod 600 ~/.ssh/config) 암호나 개인 키 내용을 넣지 마세요. ServerAlive는 SSH 상대의 응답을 확인하며 모든 앱 장애를 감지하지는 않습니다. ssh -G는 연결하지 않고 유효 설정을 출력하며 내부 주소나 경로가 노출될 수 있습니다.
사용 예제
lab 별칭에 포트, 키 파일 및 SSH 연결 유지 옵션을 설정합니다.
Host lab
HostName server.example.com
User alice
Port 2222
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3별칭으로 연결하거나 최종 적용되는 설정을 확인합니다.
ssh lab
ssh -G lab옵션 및 예제
Host pattern자주 사용SSH 별칭 또는 호스트 패턴과 일치하는 블록을 시작합니다. 일반 블록 앞에 특정 블록을 배치합니다. 처음 얻은 값이 사용됩니다.
Host lab
HostName server.example.comHostName / User / Port자주 사용일치하는 호스트에 대한 실제 서버 주소, 로그인 이름 및 SSH 포트를 설정합니다.
Host lab
HostName server.example.com
User alice
Port 2222IdentityFile / IdentitiesOnly자주 사용개인 키를 선택하고 yes로 설정하면 제공된 ID를 구성된 ID로 제한합니다.
Host lab
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yesProxyJump자주 사용하나 이상의 SSH 점프 호스트를 통해 연결합니다.
Host lab
ProxyJump alice@bastion.example.comLocalForwardSSH 서버에서 도달한 대상으로 전달되는 로컬 수신기를 구성합니다.
Host lab
LocalForward 127.0.0.1:15432 db.internal.example.com:5432RemoteForward로컬 컴퓨터에서 도달한 대상으로 전달되는 원격 수신기를 구성합니다. 서버 정책이 적용됩니다.
Host lab
RemoteForward 127.0.0.1:18080 127.0.0.1:8080DynamicForward로컬 SOCKS 수신기를 구성합니다. 클라이언트는 별도로 구성해야 합니다.
Host lab
DynamicForward 127.0.0.1:1080ExitOnForwardFailure요청된 초기 전달 수신기를 설정할 수 없는 경우 SSH 연결이 실패합니다.
Host lab
ExitOnForwardFailure yesServerAliveInterval / ServerAliveCountMax자주 사용연결을 끊기 전에 SSH 수준 피어 검사와 응답하지 않은 검사 수를 구성합니다.
Host lab
ServerAliveInterval 30
ServerAliveCountMax 3ConnectTimeout연결 시간 초과를 초 단위로 설정합니다.
Host lab
ConnectTimeout 10ForwardAgent에이전트 전달을 제어합니다. 손상된 원격 호스트는 서명을 요청할 수 있습니다. 신뢰할 수 있는 호스트에 대해서만 활성화합니다.
Host lab
ForwardAgent noInclude추가 SSH 구성 파일을 포함합니다. 순서는 선택되는 값에 영향을 줍니다.
Include ~/.ssh/config.d/*.conf공식 참고 자료
검토일: 2026년 10월 27일