كيفية التعامل مع التحقق من مفتاح مضيف SSH مع اثنين من مضيفين مختلفين على نفس عنوان IP (ولكن التغيير)؟ [مغلق
-
06-09-2019 - |
سؤال
لدي خادمان SSH خلف جدار الحماية NAT في موقع يغير WAN IP كل يوم. هم دائما في نفس عنوان IP WAN في وقت معين ولكن على منافذ مختلفة.
أنا أقوم بالاتصال بالخادم بهذه الطريقة:
ssh -p 22001 karl@x1.example.com
والخادم ب:
ssh -p 22002 karl@x2.example.com
لذلك أحصل على مفتاحين مضيفين مختلفين لنفس IP، وأيضا عند تغيير IP حتى عنوان IP مختلف لمضيف نفسه.
يجب أن أذهب في حذف وأكثر من المفتاح الآخر أو المفتاح القديم (في حالة تغيير IP) في ملف engher_hosts.
يتردد في إيقاف تشغيل التحقق الرئيسي، لأن هذا سيكون أقل أمانا. لكن الحصول على تحذير في كل وقت غير آمن (لأنني أتجاهل مثل هذه التحذيرات طوال الوقت). هل هناك حل أفضل؟
هذا يرتبط بسؤالك القديم هنا ولكن ليس هو نفسه:
المحلول
أعتقد أن هذه ستنجح:
إنشاء config
ملف في الخاص بك .ssh
دليل على النحو التالي:
Host server1
Hostname x1.example.com
HostKeyAlias server1
CheckHostIP no
Port 22001
User karl
Host server2
Hostname x2.example.com
HostKeyAlias server2
CheckHostIP no
Port 22002
User karl
التفسير أدناه (من man ssh_config
)
CheckHostip
إذا تم تعيين هذه العلامة على "نعم"، فسيحقق SSH (1) بالإضافة إلى عنوان IP المضيف في ملف Uneral_Hosts. يسمح هذا SSH بالكشف عن تغيير مفتاح المضيف بسبب خداع DNS. إذا تم تعيين الخيار على "لا"، فلن يتم تنفيذ الشيك. الافتراضي هو "نعم".
Hostkeyalias.
يحدد اسم مستعار يستخدم بدلا من اسم المضيف الحقيقي عند البحث عن أو حفظ المفتاح المضيف في ملفات قاعدة البيانات الرئيسية المضيف. هذا الخيار مفيد لاتصالات SSH النفق أو لخوادم متعددة تعمل على مضيف واحد.
ال Username
و Port
يتجنب الخط عليك تقديم هذه الخيارات في سطر الأوامر أيضا، حتى تتمكن من استخدام:
% ssh server1
% ssh server2