---
title: "تنتهي مهلة SSH وgit push على Mac: الأسباب والحلول · أدلة Kilobat"
url: "https://kilobat.app/ar/guides/ssh-git-timeouts"
description: "أصلح اتصالات SSH وGit التي تتوقف أو تنتهي مهلتها: اختبر المنفذ 22، واستخدم SSH عبر المنفذ 443 لـ GitHub، واضبط keepalives وافحص IPv6 والوكلاء."
---

المطورون

# انتهاء مهلة SSH وGit على Mac

يحتاج SSH وGit إلى اتصال TCP يعمل بالخادم. قد تمنعهما شبكة تحظر المنفذ 22 أو مسار IPv6 معطّل أو وكيل.

ينطبق على: جميع إصدارات macOS الحالية مع OpenSSH وGit المثبّتين بواسطة macOS أو Homebrew. · تاريخ التحقق: 29 أكتوبر 2026

## الأعراض

- ينتظر `git push` أو `git clone`، ثم يعرض «انتهت مهلة العملية».
- يعرض `ssh` «انتهت مهلة الاتصال» على شبكة، لكنه يعمل على أخرى.
- تتجمد جلسة SSH بعد بضع دقائق من الخمول.
- تعمل مستودعات Git البعيدة عبر HTTPS، لكن مستودعات SSH لا تعمل.

## الأسباب المحتملة

- **المنفذ 22 محظور.** تحظر بعض شبكات الشركات والفنادق والشبكات العامة SSH. تقول GitHub إن جدران الحماية ترفض أحيانًا اتصالات SSH.
- **مسار IPv6 معطّل.** يحاول Mac استخدام IPv6 أولًا. إذا لم يعمل IPv6، ينتظر الاتصال.
- **تُغلق الاتصالات الخاملة.** قد يسقط موجّه أو جدار حماية اتصالًا لا يرسل بيانات لبعض الوقت.
- **الوكيل مطلوب.** قد يحتاج Git عبر HTTPS على شبكة شركة إلى `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. اختبر خدمة SSH لدى GitHub على المنفذ 443.

   ```
   ssh -T -p 443 git@ssh.github.com
   ```
5. اعرض إعداد الوكيل في Git ومتغيرات الوكيل.

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

## كيفية الإصلاح

1. إذا كان المنفذ 22 محظورًا، فاستخدم SSH عبر المنفذ 443 لـ GitHub. أضف هذه الكتلة إلى `~/.ssh/config`.

   ```
   Host github.com
       Hostname ssh.github.com
       Port 443
       User git
   ```
2. إذا فشل IPv6، فاستخدم IPv4 لذلك المضيف. أضف `AddressFamily inet` إلى كتلته في `~/.ssh/config`.
3. لإبقاء الجلسات الخاملة مفتوحة، أرسل رسالة كل 60 ثانية. أضف `ServerAliveInterval 60` إلى كتلة المضيف.
4. لتجنب الانتظار الطويل، أضف `ConnectTimeout 10` إلى كتلة المضيف.
5. للمستودعات البعيدة عبر HTTPS خلف وكيل، اضبط وكيل Git.

   ```
   git config --global http.proxy http://proxy.example.com:8080
   ```
6. للاختبار، استخدم URL الخاص بالمستودع عبر HTTPS بدلًا من URL الخاص بـ SSH.

## باستخدام Kilobat

1. يفحص Kilobat الاتصال عبر IPv4 وIPv6 كلًا على حدة، فيعطي نتيجة واضحة لمسار IPv6 المعطّل.

   ```
   kilobat why github.com
   ```
2. اعرض الاتصالات المفتوحة لعملية واحدة.

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

## الأسئلة

**لماذا يعمل ssh -4 بينما لا يعمل ssh وحده؟**

حاول Mac استخدام IPv6 أولًا، ولم يعمل مسار IPv6. باستخدام `-4`، يستخدم ssh بروتوكول IPv4 فقط.

**ماذا يفعل ServerAliveInterval؟**

يرسل ssh رسالة عبر الاتصال بعد انقضاء هذا العدد من الثواني دون بيانات. القيمة الافتراضية 0، ولا ترسل شيئًا.

## المصادر

- [وثائق GitHub: استخدام SSH عبر منفذ HTTPS](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)

تم التحقق في 29 أكتوبر 2026.

## أدلة ذات صلة

- [مشكلات IPv6 على Mac](https://kilobat.app/ar/guides/ipv6-problems-mac): تمنح معظم الشبكات Mac عنوانَي IPv4 وIPv6.
- [شهادات وكيل الشركة تعطل أدوات Terminal على Mac](https://kilobat.app/ar/guides/corporate-proxy-certificates): تفحص بعض شبكات الشركات حركة HTTPS.
- [فشل تنزيلات Homebrew أو npm على Mac](https://kilobat.app/ar/guides/homebrew-npm-download-fails): ينزّل Homebrew باستخدام curl وGit.
- [اكتشف سبب تعذر اتصال موقع أو API](https://kilobat.app/ar/guides/recipes/why-cant-it-connect): عندما يعمل الإنترنت ويتعذر الوصول إلى عنوان واحد، يفحص Kilobat كل طبقة بالتتابع.
- [ssh: connect to host port 22: Operation timed out على Mac](https://kilobat.app/ar/guides/ssh-port-22-operation-timed-out): أرسل ssh طلب اتصال إلى المنفذ 22 ولم يتلقَّ ردًا.
