요약
이 글은 macOS 장비끼리 SSH로 접속할 때 세션이 간헐적으로 끊기는 문제를 다룹니다. 맥북프로에서 맥북미니로 원격 접속하던 중 5초 정도 입력이 없으면 연결이 끊기던 상황을 기준으로, SSH keepalive 설정으로 세션을 안정화하는 방법을 정리합니다.
이 글에서 알 수 있는 것
- macOS 간 SSH 접속이 짧은 idle timeout 때문에 끊길 수 있는 이유
- ServerAliveInterval과 ServerAliveCountMax로 SSH keepalive를 설정하는 방법
- 클라이언트의 ~/.ssh/config에 keepalive 설정을 추가하는 방법
- 서버의 /etc/ssh/sshd_config 설정 후 Remote Login을 재시작하는 방법
주요 키워드
- macOS SSH 연결 끊김
- SSH idle timeout
- SSH keepalive
- ServerAliveInterval
- ServerAliveCountMax
배경
맥북프로에서 맥북미니로 ssh 원격접속을 하고 있는데, 연결한 지 5초마다 세션이 끊기고 다시 연결되었습니다.
원인
원인은 ssh idle timeout이었습니다. ssh 세션에서 일정 시간 동안 패킷이 오가지 않으면 idle상태가 됩니다. 제 환경에서는 그 임계값이 굉장히 짧아서 5초만 입력이 없어도 끊겼습니다.
해결 방법은 ssh가 주기적으로 keepalive 패킷을 보내게 만드는 것입니다. ServerAliveInterval로 패킷 전송 주기를 정하고, ServerAliveCountMax로 응답이 없을 때 몇 번까지 재시도할지 정합니다.
client 설정
저는 client쪽 ~/.ssh/config에 아래처럼 설정했습니다. 300초마다 keepalive 패킷을 보내고, 10번까지 응답이 없으면 그때 끊는다는 뜻입니다.
$ vi ~/.ssh/config
Host {hostname}
HostName {ip 또는 hostname}
ServerAliveInterval 300
ServerAliveCountMax 10
server 설정
server쪽도 동일하게 맞춰줘야 합니다. /etc/ssh/sshd_config에 client와 같은 값으로 설정하고 ssh를 재시작했더니 그제서야 연결이 안정적으로 유지됐습니다.
$ vi /etc/ssh/sshd_config
ServerAliveInterval 300
ServerAliveCountMax 10
서버에서는 sshd_config설정후 sshd를 재실행해야 합니다. 저는 맥 설정에서 sshd를 off/on하셔 재실행했습니다.
- System Settings → General → Sharing → Remote Login
참고자료
'전공영역 공부 기록' 카테고리의 다른 글
| AI 모델 사용 vs AI 에이전트 사용 — LangGraph 실습 (0) | 2026.05.02 |
|---|---|
| AI에게 youtube 영상을 내 관점으로 분석하게 시키는 방법 (0) | 2026.04.26 |
| LM studio CLI(lms) 사용방법과 openclaw연동(예제 gemma4 MLX) (0) | 2026.04.26 |
| site to site vpn 구축 후 꼭 체크해야할 것 - 재협상 정상유무 (0) | 2026.04.24 |
| opus 4.7 출시와 내가 생각하는 큰 변화 2가지 - 비용증가와 이미지 처리 성능 증가 (0) | 2026.04.17 |