SSH-COPY-ID(1)

الاسم
ssh-copy-id - استخدم المفاتيح المتاحة محليًا لتخويل عمليات الدخول على جهاز بعيد

موجز
ssh-copy-id [-f] [-n] [-s] [-x] [-i [identity_file]] [-t target_path] [-F ssh_config] [[-o ssh_option] ...] [-p port] [user@] hostname ssh-copy-id -h | -?

الوصف
ssh-copy-id هو سكريبت يستخدم ssh(1) لتسجيل الدخول إلى جهاز بعيد (يفترض استخدام كلمة مرور تسجيل الدخول، لذا يجب تمكين الاستيثاق بكلمة المرور، إلا إذا قمت باستخدام ذكي لهويات متعددة). يجمع قائمة بصمة إصبع واحدة أو أكثر (كما هو موضح أدناه) ويحاول تسجيل الدخول بكل مفتاح، لمعرفة ما إذا كان أي منها مثبتًا بالفعل (بالطبع، إذا كنت لا تستخدم ssh-agent(1) فقد يؤدي ذلك إلى مطالبتك مرارًا بعبارات المرور). ثم يجمع قائمة بتلك التي فشلت في تسجيل الدخول، وباستخدام ssh(1) ، يمكّن عمليات الدخول بتلك المفاتيح على الخادم البعيد. مبدئيًا يضيف المفاتيح بإلحاقها بـ ~/.ssh/authorized_keys للمستخدم البعيد (وإنشاء الملف والدليل إذا لزم الأمر). كما يمكنه اكتشاف ما إذا كان النظام البعيد هو NetScreen، واستخدام أمره ‘set ssh pka-dsa key ...’ بدلاً من ذلك.

الخيارات هي كما يلي:

-i [identity_file]
    استخدم فقط المفتاح (المفاتيح) الموجودة في identity_file (بدلاً من البحث عن الهويات عبر ssh-add(1) أو في default_ID_file). إذا لم ينته اسم الملف بـ .pub ، يُضاف هذا. إذا تم حذف اسم الملف، يُستخدم default_ID_file.

    لاحظ أن هذا يمكن استخدامه لضمان أن المفاتيح المنسوخة تحتوي على التعليق المفضل و/أو الخيارات الإضافية المطبقة، وذلك بضمان أن ملف المفتاح يحتوي على هذه الإعدادات المفضلة قبل محاولة النسخ.

-f  الوضع القسري: لا يتحقق من وجود المفاتيح على الخادم البعيد. هذا يعني أنه لا يحتاج إلى المفتاح الخاص. بالطبع، يمكن أن يؤدي هذا إلى تثبيت أكثر من نسخة من المفتاح على النظام البعيد.

-n  قم بتشغيل تجريبي. بدلاً من تثبيت المفاتيح على النظام البعيد، يطبع ببساطة المفتاح (المفاتيح) التي كان سيتم تثبيتها.

-s  وضع SFTP: عادةً ما يتم تثبيت المفاتيح العامة بتنفيذ أوامر على الجانب البعيد. مع هذا الخيار، سيتم تنزيل ملف ~/.ssh/authorized_keys للمستخدم، وتعديله محليًا، ورفعه باستخدام sftp. هذا الخيار مفيد إذا كان الخادم لديه قيود على الأوامر التي يمكن استخدامها على الجانب البعيد.

-t target_path
    المسار على النظام الهدف حيث يجب إضافة المفاتيح (مبدئيًا ".ssh/authorized_keys")

-p port
    يحدد المنفذ المراد الاتصال به على المضيف البعيد.

-F ssh_config, -o ssh_option
    يتم تمرير هذه الخيارات ببساطة دون تغيير (مع وسيطها) إلى ssh/sftp، مما يسمح بتعيين ملف تكوين بديل، أو خيارات أخرى، على التوالي.

    بدلاً من تحديد هذه كخيارات سطر أوامر، غالبًا ما يكون من الأفضل استخدام إعدادات (لكل مضيف) في ملف تكوين ssh(1): ssh_config(5).

-x  هذا الخيار لتصحيح أخطاء سكريبت ssh-copy-id نفسه. يضبط علامة -x للقشرة، بحيث يمكنك رؤية الأوامر التي يتم تشغيلها.

-h, -?
    اطبع ملخص الاستخدام

السلوك المبدئي بدون -i هو التحقق مما إذا كان ‘ssh-add -L’ يوفر أي مخرجات، وإذا كان الأمر كذلك، تُستخدم تلك المفاتيح. لاحظ أن هذا يؤدي إلى أن يكون التعليق على المفتاح هو اسم الملف الذي أُعطي لـ ssh-add(1) عند تحميل المفتاح في ssh-agent(1) الخاص بك بدلاً من التعليق الموجود في ذلك الملف، وهو أمر مؤسف بعض الشيء. بخلاف ذلك، إذا لم يوفر ssh-add(1) أي مفاتيح، سيتم استخدام محتويات default_ID_file.

default_ID_file هو أحدث ملف يطابق: ~/.ssh/id*.pub ، (باستثناء تلك التي تطابق ~/.ssh/*-cert.pub) لذا إذا قمت بإنشاء مفتاح ليس هو الذي تريد أن يستخدمه ssh-copy-id ، فقط استخدم touch(1) على ملف .pub للمفتاح المفضل لديك لإعادته كأحدث ملف.

أمثلة
إذا كنت قد قمت بالفعل بتثبيت مفاتيح من نظام واحد على العديد من المضيفين البعيدين، ثم قمت بإنشاء مفتاح جديد، على جهاز عميل جديد مثلاً، قد يكون من الصعب تتبع الأنظمة التي قمت بتثبيت المفتاح الجديد عليها. إحدى طرق التعامل مع هذا هي تحميل كل من المفتاح الجديد والمفتاح (المفاتيح) القديم في ssh-agent(1) الخاص بك. قم بتحميل المفتاح الجديد أولاً، بدون خيار -c ، ثم قم بتحميل مفتاح قديم أو أكثر في الوكيل، ربما عن طريق ssh إلى جهاز العميل الذي لديه ذلك المفتاح القديم، باستخدام خيار -A للسماح بإعادة توجيه الوكيل:

    user@newclient$ ssh-add
    user@newclient$ ssh -A old.client
    user@oldl$ ssh-add -c
    لا ... مطالبة بعبارة المرور ...
    user@old$ logoff
    user@newclient$ ssh someserver

الآن، إذا كان المفتاح الجديد مثبتًا على الخادم، سيتم السماح لك بالدخول دون مطالبة، بينما إذا كان لديك فقط المفتاح (المفاتيح) القديم الممكّن، سيُطلب منك التأكيد، وهو إشارة لك لتسجيل الخروج مرة أخرى وتشغيل

    user@newclient$ ssh-copy-id -i someserver

سبب رغبتك في تحديد الخيار -i في هذه الحالة هو ضمان أن التعليق على المفتاح المثبت هو من ملف .pub ، وليس مجرد اسم الملف الذي تم تحميله في وكيلك. كما يضمن ذلك تثبيت المعرف الذي قصدته فقط، وليس جميع المفاتيح الموجودة في ssh-agent(1). بالطبع، يمكنك تحديد معرف آخر، أو استخدام محتويات ssh-agent(1) كما تفضل.

بعد ذكر خيار ssh-add(1)'s -c ، قد تفكر في استخدامه كلما استخدمت إعادة توجيه الوكيل لتجنب اختطاف مفتاحك، لكن من الأفضل بكثير استخدام ssh(1)'s ProxyCommand وخيار -W ، للارتداد عبر الخوادم البعيدة مع القيام دائمًا بالاستيثاق المباشر من النهاية إلى النهاية. بهذه الطريقة، لا تحصل القفزات الوسيطة على وصول إلى ssh-agent(1). بحث ويب عن ‘ssh proxycommand nc’ قد يكون مفيدًا (ملاحظة: النهج الحديث هو استخدام خيار -W بدلاً من nc(1)).

انظر أيضًا
ssh(1) ، ssh-agent(1) ، sshd(8)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3: https://www.gnu.org/licenses/gpl-3.0.html أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.