المشكلات المتعلقة بالتوقع: معرف تفرخ Exp4 غير مفتوح
سؤال
يقوم رمز توقعي بذلك: إنه يقوم بتوصيل SSH بجهاز آخر ، ويرسل كلمة المرور ثم يقوم بإرجاع اسم مضيف هذا الجهاز. أعطي عينة من الكود الخاص بي أدناه
#!/usr/bin/توقع -f
تعيين ipaddr [lrange $ argv 0 0
تعيين كلمة المرور [lrange $ argv 1 1
تعيين مهلة -1
تفرخ SSH Root@$ ipaddrame اسم مضيف
match_max 100000
توقع "*Assword:*"
إرسال - "$ password r"
توقع EOF
يعمل هذا الرمز عدة مرات ولكن بشكل متقطع ، أحصل على الخطأ التالي
إرسال: معرف تفرخ Exp4 غير مفتوح
أثناء التنفيذ
"إرسال -" $ password r "
لماذا يحدث هذا؟
المحلول
اكتشف لماذا. كنت قد أنشأت مفاتيح SSH ونسختها إلى آلة الوجهة. لذلك لم يكن هناك "كلمة مرور:" موجه. وبالتالي يمكن أن يكتمل قبل إرسال ، وقد أغلق اتصال SSH.
لقد قمت بحذف مفاتيح SSH من جهاز الوجهة وقمت بتشغيل البرنامج النصي مرة أخرى ولاحظت أي مشاكل