---
title: "Mac에서 SSH 및 git push 시간 초과: 원인과 해결 방법 · Kilobat 가이드"
url: "https://kilobat.app/ko/guides/ssh-git-timeouts"
description: "멈추거나 시간 초과되는 SSH 및 Git 연결을 해결하세요. 포트 22를 테스트하고 GitHub에는 포트 443을 통한 SSH를 사용하며 연결 유지를 설정하고 IPv6와 프록시를 확인하세요."
---

개발자

# Mac에서 SSH와 Git 연결 시간 초과

SSH와 Git에는 서버에 대한 작동하는 TCP 연결이 필요합니다. 포트 22를 차단하는 네트워크, 손상된 IPv6 경로 또는 프록시가 이를 중단시킬 수 있습니다.

적용 대상: macOS 또는 Homebrew가 설치한 OpenSSH와 Git을 사용하는 현재 모든 macOS 버전. · 확인일: 2026년 10월 29일

## 증상

- `git push` 또는 `git clone`이(가) 대기하다가 “Operation timed out”을 표시합니다.
- `ssh`에서 한 네트워크에서는 “연결 시간이 초과되었습니다”가 표시되지만 다른 네트워크에서는 작동합니다.
- 몇 분 동안 사용하지 않으면 SSH 세션이 멈춥니다.
- HTTPS Git 원격 저장소는 작동하지만 SSH 원격 저장소는 작동하지 않습니다.

## 가능한 원인

- **포트 22가 차단됨.** 일부 회사, 호텔 및 공공 네트워크는 SSH를 차단합니다. GitHub에 따르면 방화벽이 SSH 연결을 거부하는 경우가 있습니다.
- **IPv6 경로 문제.** Mac은 IPv6을 먼저 시도합니다. IPv6이 작동하지 않으면 연결이 지연됩니다.
- **유휴 연결 종료.** 라우터나 방화벽이 일정 시간 데이터를 보내지 않는 연결을 끊을 수 있습니다.
- **프록시가 필요합니다.** 회사 네트워크에서 HTTPS Git을 사용하려면 `http.proxy` 또는 프록시 변수가 필요할 수 있습니다.

## 확인 방법

1. 상세 출력을 사용하여 연결하세요. 마지막 줄에 연결이 중단된 지점이 표시됩니다.

   ```
   ssh -vT git@github.com
   ```
2. TCP 포트만 5초 시간 제한으로 테스트합니다.

   ```
   nc -vz -G 5 github.com 22
   ```
3. IPv4만 사용해 보세요. 이때 작동하면 IPv6 경로에 문제가 있습니다.

   ```
   ssh -4 -T git@github.com
   ```
4. 포트 443에서 GitHub SSH 서비스를 테스트합니다.

   ```
   ssh -T -p 443 git@ssh.github.com
   ```
5. Git 프록시 설정과 프록시 변수를 표시합니다.

   ```
   git config --get http.proxy
   env | grep -i proxy
   ```

## 해결 방법

1. 포트 22가 차단되어 있다면 GitHub에서 포트 443을 통한 SSH를 사용하세요. `~/.ssh/config`에 이 블록을 추가합니다.

   ```
   Host github.com
       Hostname ssh.github.com
       Port 443
       User git
   ```
2. IPv6가 실패하면 해당 호스트에 IPv4를 사용하세요. `~/.ssh/config`의 해당 블록에 `AddressFamily inet`을 추가하세요.
3. 유휴 세션을 유지하려면 60초마다 메시지를 보내세요. 호스트 블록에 `ServerAliveInterval 60`을 추가하세요.
4. 오래 기다리지 않으려면 호스트 블록에 `ConnectTimeout 10`을 추가하세요.
5. 프록시 뒤의 HTTPS 원격 저장소에는 Git 프록시를 설정하세요.

   ```
   git config --global http.proxy http://proxy.example.com:8080
   ```
6. 테스트하려면 저장소의 SSH URL 대신 HTTPS URL을 사용하세요.

## Kilobat 사용

1. Kilobat의 연결 검사는 IPv4와 IPv6을 별도로 테스트하므로 IPv6 경로에 문제가 있는지 명확히 알 수 있습니다.

   ```
   kilobat why github.com
   ```
2. 한 프로세스의 열린 연결을 확인합니다.

   ```
   kilobat destinations --pid 12345
   ```

## 질문

**일반 ssh는 작동하지 않지만 ssh -4는 작동하는 이유는 무엇인가요?**

Mac이 IPv6를 먼저 시도했지만 IPv6 경로가 작동하지 않았습니다. `-4`를 사용하면 ssh가 IPv4만 사용합니다.

**ServerAliveInterval은 어떤 기능을 하나요?**

ssh는 데이터가 없는 상태로 지정된 초가 지나면 연결을 통해 메시지를 보냅니다. 기본값은 0이며 메시지를 보내지 않습니다.

## 출처

- [GitHub 문서: HTTPS 포트를 통한 SSH 사용하기](https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port)
- ssh(1) 및 ssh_config(5), macOS 27.2와 함께 설치된 매뉴얼 페이지
- nc(1), macOS 27.2와 함께 설치된 매뉴얼 페이지
- git-config(1), http.proxy, macOS 27.2와 함께 설치된 매뉴얼 페이지 (Git 2.56)

2026년 10월 29일 확인했습니다.

## 관련 가이드

- [Mac의 IPv6 문제](https://kilobat.app/ko/guides/ipv6-problems-mac): 대부분의 네트워크는 Mac에 IPv4와 IPv6 주소를 모두 제공합니다.
- [회사 프록시 인증서로 인해 Mac의 터미널 도구가 작동하지 않음](https://kilobat.app/ko/guides/corporate-proxy-certificates): 일부 회사 네트워크는 HTTPS 트래픽을 검사합니다.
- [Mac에서 Homebrew 또는 npm 다운로드 실패](https://kilobat.app/ko/guides/homebrew-npm-download-fails): Homebrew는 curl과 Git으로 다운로드합니다.
- [한 사이트 또는 API에 연결되지 않는 이유 찾기](https://kilobat.app/ko/guides/recipes/why-cant-it-connect): 인터넷은 작동하지만 한 주소에 연결할 수 없을 때 Kilobat이 각 계층을 차례로 확인합니다.
- [Mac에서 ssh: connect to host port 22: Operation timed out](https://kilobat.app/ko/guides/ssh-port-22-operation-timed-out): ssh가 포트 22에 연결을 요청했지만 응답을 받지 못했습니다.
