سؤال SSH: لا يمكن إثبات صحة المضيف


ماذا تعني هذه الرسالة؟ هل هذه مشكلة محتملة؟ هل القناة غير آمنة؟

أو هل هذه ببساطة رسالة افتراضية دائما يتم عرضها عند الاتصال بخادم جديد؟

اعتدت على رؤية هذه الرسالة عند استخدام SSH في الماضي: لقد أدخلت دائمًا معلومات تسجيل الدخول الخاصة بي بكلمة مرور بالطريقة المعتادة ، وشعرت بالرضا حيال ذلك لأنني لم أستخدم المفاتيح الخاصة / العامة (التي هي أكثر أمانًا بكثير من كلمة مرور قصيرة). ولكن هذه المرة أعددت مفتاحًا عامًا باستخدام ssh لارتباطي بـ Bitbucket لكنني ما زلت أحمل الرسالة. إنني أدرك أن عبارة المرور تطالب في نهاية الأمر بتدبير أمني إضافي تكميلي ، لفك تشفير المفتاح الخاص.

أنا على أمل شخص ما يمكن أن يعطي تفسيرا لطيفا لما هو المقصود من هذه الرسالة "لا يمكن أن تنشأ أصالة".

The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.

RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of
known hosts.
Enter passphrase for key '/c/Users/Steven/.ssh/id_rsa':

67
2018-05-05 23:39


الأصل


هذا هو حقا واحدة من تلك "الوسائل بالضبط ما تقوله" الرسائل. هذا يعني ssh لا توجد وسيلة لإعلامك بأنك تتحدث بالفعل bitbucket.org. إذا قمت بتكوين طريقة للتعرف عليها ، فهذا يعني أنها لا تعمل. إذا لم تفعل ، فهذا يعني أنك لم تفعل ذلك. - David Schwartz


الأجوبة:


إنه يخبرك أنك لم تتصل بهذا الخادم من قبل. إذا كنت تتوقع ذلك ، فهذا طبيعي تمامًا. إذا كنت مصابًا بجنون العظمة ، تحقق من المجموع الاختباري / بصمة الإصبع للمفتاح باستخدام قناة بديلة. (لكن لاحظ أن أي شخص يمكنه إعادة توجيه اتصال ssh يمكنه أيضًا إعادة توجيه جلسة متصفح الويب.)

إذا كنت قد اتصلت بهذا الخادم من خلال هذا التثبيت الخاص بـ ssh ، فسيتم إما إعادة تهيئة الخادم بمفتاح جديد أو أن شخصًا ما ينتحل هوية الخادم. نظرًا لخطورة هجوم رجل في الوسط ، فإنه يحذرك من الاحتمال.

في كلتا الحالتين ، لديك قناة مشفرة آمنة ل شخص ما. لا أحد بدون مفتاح خاص المقابلة لبصمات الأصابع 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 يمكن فك شفرة ما ترسله.

المفتاح الذي تستخدمه لمصادقة نفسك غير مرتبط ... لا تريد إرسال معلومات المصادقة إلى خادم خادع قد يسرقها ، وبالتالي لا يجب أن تتوقع أي تغييرات اعتمادًا على ما إذا كنت ستستخدم عبارة مرور أو المفتاح الخاص لتسجيل الدخول. أنت ببساطة لم تحصل على هذا القدر في هذه العملية حتى الآن.


61
2018-05-06 00:23



لذا ، حتى إذا كان هناك طرف ثالث خبيث ، وأنا استبعد الرسالة ، فكل ما سأقوم به هو إرساله لمفتاحي العام ، ولن يتمكن من فك تشفير بياناتي؟ حتى الآن ، الطرق الوحيدة التي يمكن بها اختراق بياناتي هي: (1) مفتاحي الخاص قد تم اختراقه أو (2) تم اختراق خوادم Bitbucket أو (3) تم اختراق حساب bitbucket الخاص بي. طالما أنها تحد من محاولات تسجيل الدخول (التي سأكون مندهشة حقاً إذا لم يفعلوا ذلك) فليس هناك الكثير من الأسباب التي تجعلك مصابًا بجنون العظمة في هذه المرحلة ، أليس كذلك؟ - Steven Lu
@ لستيفن: أنت لا ترسله إلى مفتاحك العام ، فهو يمتلك ذلك بالفعل. ما تفعله هو استخدام مفتاحك الخاص لمصادقة تحدي ... إذا كان متصلاً بـ حقيقة زعم Bitbucket.org أنه أنت ، تلقى التحدي الحقيقي ، واستخدم هذا التحدي عند تحديك ، فبإمكانه حينئذٍ أن يخدعك في إرسال رد صحيح له يستخدمه بعد ذلك للوصول إلى حسابك على bitbucket.org الحقيقي. لا يزال لا يملك مفتاحك الخاص ، لذا لا يمكنه تسجيل الدخول في أي وقت مستقبلي ، أو إلى أي مورد آخر يفتح مفتاحًا ، ولكن لديه جلسة تسجيل دخول واحدة. - Ben Voigt
هذا ما قصدته في جوابي عندما قلت "لا تريد إرسال معلومات التوثيق إلى خادم احتيالي". - Ben Voigt
"إذا كنت مصابًا بجنون العظمة ، تحقق من المجموع الاختباري / بصمة الإصبع للمفتاح باستخدام قناة بديلة." بالنسبة لجنون الارتياب (وللمسجل) ، فإن بصمة جيثوب تعمل help.github.com/articles/generating-ssh-keys وذكر bitbucket في confluence.atlassian.com/display/BITBUCKET/... - sundar
BenVoigt نعم ، أنا أفهم أنه ، وبطبيعة الحال سوف بجنون العظمة الحصول على تلك الصفحات من خلال شبكة مختلفة غير ذات صلة ، أو ربما تطير إلى مقر جيثب والحصول على بصمة في شخص :) - sundar


دعنا نقول أنك تلتقي بشخص ما لتبادل بعض أسرار العمل. يخبرك المستشار أنك لم تلتق بهذا الشخص من قبل ، وأنه يمكن أن يكون محتالًا. علاوة على ذلك ، بالنسبة للاجتماعات المقبلة معه ، لن يقوم مستشارك بتحذيرك بعد الآن. هذا ما تعنيه الرسالة. الشخص هو الخادم البعيد ، ومستشارك هو عميل ssh.

لا أعتقد أنه من المذعور أن نتأكد من هوية الشخص قبل مشاركة أسراره معها. على سبيل المثال ، يمكنك فتح صفحة ويب مع صورة لها ومقارنتها بالوجه أمامك. أو التحقق من بطاقة هويتها.

بالنسبة لخادم Bitbucket ، يمكنك استخدام جهاز كمبيوتر مختلف موثوق به والحصول على صورة وجهه من ذلك ، ومن ثم مقارنتها مع واحد تحصل عليه في الكمبيوتر الذي تستخدمه الآن. استعمال:

 ssh-keyscan -t rsa bitbucket.org | ssh-keygen -lv -f -

إذا كان وجوه مطابقة ، يمكنك إضافة المفتاح إلى الملف على سبيل المثال. ~/.ssh/known_hosts (الموقع القياسي في العديد من توزيعات Linux) مع:

ssh-keyscan -t rsa -H bitbucket.org >> ~/.ssh/known_hosts

وعميل ssh لن يحذرك كما يعرف وجهها. سوف يقارن الوجوه في اي وقت تتصل. هذا جدا مهم. في حالة المحتال (مثل هجوم رجل في الوسط) ، سيرفض عميل ssh الاتصال لأن وجه سوف تغيرت.


16
2017-08-10 11:42



هذه الإجابة مفيدة للغاية - 010110110101
يجب أن يكون هذا هو الجواب المقبول: ssh-keyscan -t rsa -H bitbucket.org >> ~/.ssh/known_hosts  شكرا إيفان! - Rod
@ رود: يمكنك اختيار الإجابة المقبولة بناءً على أمر غير ضروري على الإطلاق (يمكنك تعديله known_hosts فقط بكتابة "نعم" للتحذير الأصلي ، كما هو موضح في السؤال) وخطير (المفتاح الذي أضفته إلى ملفك ليس بالضرورة نفس المفتاح الذي نظرت إليه ، لأنك جلبته مرتين!)؟ - Ben Voigt
BenVoigt ما يوفره هذا الحل أن كتابة "نعم" لا يعني أن هذا الحل قابل للنصوص بالكامل. أفترض أن معظم الناس يمكنهم معرفة كيفية الرد على "(نعم / لا)؟" مستعجل. جئت عبر هذا سؤال وجواب أثناء محاولة معرفة كيفية حل هذه المشكلة دون تدخل بشري (لخادم إعداد البرنامج النصي). أعتقد أني لم ألاحظ في سعادتي أن سؤال OP مختلف قليلاً عن سؤالي ، لكن IMO لا يزال هذا هو الجواب الأكثر فائدة / غير واضح في الخيط. - Rod
@ رود: لا ، هذا ليس مفيدًا. تخفيض الأمان الخاص بك هو سيء. العثور على طرق أسرع لخفض الأمان الخاص بك هو العكس تماماً من المفيد. - Ben Voigt


أنا ببساطة اضطررت لخلق known_hosts ملف نصي في ~/.ssh

sudo vim ~/.ssh/known_hosts
sudo chmod 777 ~/.ssh/known_hosts

بعد القيام بذلك ، أضاف المضيف وأنا لم أر الرسالة مرة أخرى.


6
2017-07-16 15:44



لا أعتقد أن هذا يغير أي شيء. يظهر التحذير عندما يكون الخادم نفسه قد تغير. على سبيل المثال ، إذا قمت بتوفير جهاز ظاهري جديد تقوم بالاتصال به لأول مرة. أم لا لديك known_hosts الملف (مع الأذونات الصحيحة) لا يمنعه من سؤالك عن مصداقية الخادم الجديد ... ما لم تكن قد جلبت بطريقة ما توقيع مفتاح الحانة لهذا الخادم ووضعته في known_hosts، وهي الطريقة الطبيعية الوحيدة لتخطي الشيك (على الرغم من أن مجرد قول "نعم" للفحص يكون أسرع في كثير من الأحيان لتحقيق الشيء نفسه) - Steven Lu
شكر. كان لدي known_hosts ، ولكن استمر في الحصول على التحذير. لقد اضطررت فقط لتغيير الأذونات على known_hosts حتى تتوقف التحذيرات. - ArcaneDominion
من فضلك لا تفعل هذا. يمكن أن يكون خطرا أمنيا خطيرا. يجب أن يكون ملف المضيف الخاص بك قابلاً للكتابة بواسطتك فقط. الأمر الثاني هو السماح لأي شخص في حاسوبك بالتحايل على هويات الخوادم. - Stolz
"يظهر التحذير عندما يكون الخادم نفسه قد تغير." أو عندما لم يتم زيارة الخادم من قبل. - Rod


هذه الرسالة ليست سوى SSH تخبرك أنه لم يسبق لك رؤية هذا المفتاح المضيف المعين من قبل ، لذلك فهي غير قادرة على التحقق من أنك تقوم بالاتصال بالمضيف الذي تعتقد أنه أنت. عندما تقول "نعم" فإنه يضع مفتاح ssh في ملف known_hosts الخاص بك ، ومن ثم على الاتصالات اللاحقة ستقارن المفتاح الذي يحصل عليه من المضيف إلى الملف الموجود في الملف known_hosts.

كان هناك مقالة ذات صلة حول تجاوز سعة المكدس تظهر كيفية تعطيل هذا التحذير ، https://stackoverflow.com/questions/3663895/ssh-the-authenticity-of-host-hostname-cant-be-established.


1
2018-05-05 23:52



لكن تعطيل التحذير هو لا ينصح - هناك لغرض ، وتوفير معلومات أمنية مفيدة للغاية. - Rory Alsop


هناك طريقة أخرى سهلة ما عليك سوى لمس ملف "config" تحت /root/.ssh وإضافة المعلمة StrictHostKeyChecking no في المرة القادمة عند تسجيل الدخول إلى خادم ، سيتم إضافة مفتاح rsa إلى known_hosts ولن يطلب "yes" لتأكيد المصادقة


0
2017-12-16 08:23



هذا غير مستحسن. إنها طريقة سهلة ولكنها ليست الطريقة الصحيحة للتعامل مع الموقف. - Vikas


وبصرف النظر عن الإجابات المقدمة بالفعل (لم تكن متصلا أبدا بهذا المضيف من قبل) ، هناك أيضا احتمال واضح أنك لم تقم أبدا بالاتصال من المضيف الحالي قبل ذلك (إلى ذلك المضيف) ؛ هذا فقط مختلف نفسيا. كنت تعتقد أنك تتصل من المضيف A (إلى B) ، بينما تحاول الاتصال من المضيف X (إلى B). يمكن أن يحدث هذا على سبيل المثال عندما تقوم أولاً بإدراجه من A إلى X ، ثم بعد ذلك من نفس الجهاز ، حاول استخدام ssh إلى B للتفكير في أنك لا تزال في A.


0
2017-11-04 13:51



أتساءل ما إذا كان استخدام إعادة توجيه وكيل ssh يمكن أيضًا أن يمنع التحذير إذا كان المضيف A يعرف عن B ولكن X لا يحدث ، ولكن تتم إعادة توجيه الوكيل بين A و X. معظم البيئات (التي توفر ssh) وإعادة توجيه وكيل دعم التطبيقات الطرفية ، فهو يساعد في تقليل عدد مفاتيح ssh التي يتعين عليك إدارتها إلى الأجهزة الطرفية فقط. - Steven Lu


في حالتي كلمة المرور أقل لم يعمل تسجيل الدخول بسبب أذونات الدليل الرئيسي الخاص بي لأنني قمت بتغيير الإعدادات الافتراضية. أخيرًا ، إليكم ما نجح. بلدي أذونات الدليل الرئيسية هي

/ الوطن / اسم المستخدم

drwxr----x. 18 username     groupname  4096 May 11 11:52 username

/home/username/.ssh

268823097 drwx------   2 username groupname     29 May 11 11:53 .ssh

/home/username/.ssh/authorized_keys

-rw-r----- 1 username groupname 402 May 11 11:53 authorized_keys

0
2018-05-11 11:03