# استخدام مفاتيح SSH مع PuTTY على ويندوز
Source: https://docs.webgee.com/ar/development/accessing-a-linux-server-using-ssh-keys-with-putty



اتصل من ويندوز باستخدام PuTTY والمصادقة بالمفاتيح. ينطبق على الاستضافة المشتركة
والموزِّعة مع تفعيل SSH، وعلى كل خوادم VPS والمخصّصة.

<Callout type="info">
  يتضمّن ويندوز 10 و11 حزمة OpenSSH، فيمكنك استخدام `ssh` مباشرة في PowerShell
  أو Windows Terminal دون PuTTY أصلًا — راجع
  [الاتصال عبر SSH](/ar/development/connect-via-ssh). وPuTTY يستحق الاستخدام
  للجلسات المحفوظة ولوكيل المفاتيح فيه.
</Callout>

## 1. ولّد زوج مفاتيح [#1-ولّد-زوج-مفاتيح]

1. افتح **PuTTYgen** (يُثبَّت مع PuTTY).
2. اضبط **Type of key to generate** على **EdDSA** مع **Ed25519**، أو **RSA** بـ
   **4096** بت إن كانت أداة تستخدمها لا تتعامل مع ed25519.
3. اختر **Generate** وحرّك الفأرة فوق المنطقة الفارغة كما هو مطلوب.
4. أدخل **Key passphrase**. فهذا يشفّر المفتاح الخاص على القرص، فيصبح ملف مفتاح
   منسوخ بلا فائدة بدونها.
5. اختر **Save private key** واحفظ ملف `.ppk` في مكان آمن.
6. **انسخ المفتاح العام** من الخانة في أعلى النافذة.

<Callout type="warn">
  انسخ المفتاح العام من **الخانة في PuTTYgen**، لا من الملف المحفوظ. فصيغة
  المفتاح العام المحفوظة في PuTTY لها أسطر ترويسة وليست ما يتوقّعه
  `authorized_keys` — ولصقها ينتج مفتاحًا تقبله الواجهة ولا يعمل أبدًا.
</Callout>

## 2. صرّح له [#2-صرّح-له]

**على الاستضافة المشتركة أو الموزِّعة:**

1. في cPanel، افتح **SSH Access ← Manage SSH Keys**.
2. اختر **Import Key**.
3. اترك خانة المفتاح الخاص فارغة والصق المفتاح **العام**.
4. استورد، ثم اختر **Manage** بجواره واختر **Authorize**.

فالاستيراد وحده لا يفعل شيئًا — والمفتاح غير قابل للاستخدام حتى يُصرَّح له.

**على خادم VPS:** أضفه في Cloud Console بدلًا من ذلك — راجع
[إضافة مفتاح SSH](/ar/servers/ssh-keys).

## 3. اتصل [#3-اتصل]

1. افتح **PuTTY**.
2. **Session** — أدخل اسم مضيفك أو عنوانك، والمنفذ `22`.
3. **Connection ← SSH ← Auth ← Credentials** — استعرض إلى ملف `.ppk`.
4. **Connection ← Data** — أدخل اسم مستخدمك في **Auto-login username**.
5. عد إلى **Session**، وسمّها، واختر **Save**.
6. اختر **Open**.

ويُطلب منك عبارة مرور المفتاح، لا كلمة مرور حسابك.

## استخدام مفتاح مولَّد في مكان آخر [#استخدام-مفتاح-مولَّد-في-مكان-آخر]

المفتاح المولَّد بـ `ssh-keygen` بصيغة OpenSSH ولن يحمّله PuTTY مباشرة. حوّله:

1. افتح **PuTTYgen**.
2. **Conversions ← Import key**، واختر مفتاحك الخاص.
3. **Save private key** بصيغة `.ppk`.

## إن تعذّر الاتصال [#إن-تعذّر-الاتصال]

* **«Server refused our key»** — مستورَد لكن غير مصرَّح له، أو لُصق المفتاح
  العام من الملف المحفوظ لا من خانة PuTTYgen.
* **يطلب كلمة مرور بدلًا من ذلك** — PuTTY لا يجد المفتاح. راجع المسار ضمن
  **Auth ← Credentials**.
* **«Connection refused»** — SSH غير مفعَّل على الحساب.
* **«Network error: Connection timed out»** — قد يكون عنوانك محجوبًا من جدار
  الحماية، راجع
  [رفع الحجب عن عنوان IP](/ar/security-ssl/how-do-i-unblock-or-whitelist-an-ip-address-from-the-firewall).

## اقرأ أيضًا [#اقرأ-أيضًا]

* [الاتصال عبر SSH](/ar/development/connect-via-ssh)
* [إضافة مفتاح SSH](/ar/servers/ssh-keys)
