لدي جهازي كمبيوتر وراء نفس جهاز التوجيه. دعنا نسميهم أ و ب.
يمكن سه إلى ب على النحو التالي: ssh usr@<internal ip of computer>
ب يمكن سه إلى عن طريق القيام بنفس الشيء ، ولكن يجب استخدام إب الخارجي. لقد أحالت ميناء 22 من جهاز التوجيه الخاص بي إلى الملكية الفكرية للكمبيوتر ل, حتى يتسنى لجميع المنطقي بالنسبة لي.
ومع ذلك ، أريد أيضا إعادة توجيه المنفذ 26 إلى الكمبيوتر ب ، و سش من خارج الشبكة باستخدام إب الخارجي لكليهما ، ولكن تحديد إما المنفذ 22 أو 26 ، لتحديد أي جهاز كمبيوتر لاستخدامه بشكل فعال.
لقد حاولت السماح المنفذ 26 من خلال إخراج iptables على ومدخلات ب ، ولكن هذا لا يبدو للعمل. لقد قمت أيضا بإعادة توجيه المنفذ 26 إلى إب الداخلي من ب (من خلال جهاز التوجيه) ، كما فعلت مع 22 ل.
وهنا ما أحصل عليه عندما أحاول سه من أ إلى ب باستخدام إب الخارجي والمنفذ 26:
ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.
ب = بينسش_6. 0 ص 1 دبيان-4 ، بينسل 1.0.1 ج 10 مايو 2012
أ لديه 12.04 أوبونتو ، ب هو التوت بي مع راسبيان.
تحرير: شيء نسيت أن أضع في: لقد حاولت تبديل ملف التكوين سش (وجدت أنه هو /etc/ssh/ssh_config) أنا غير معلق (حذف #) الخط مع Port وتغيرت 22 إلى 26. أعطاني الاتصال رفض الرسالة لا يزال. (أنا تمهيد ولكن دون جدوى.)
يبدو أنك لا تقوم بتشغيل سه على المنفذ 26 على الجهاز الثاني. يمكنك إما تغيير رقم المنفذ على هذا الجهاز إلى 26.
إما تحرير /etc/ssh/sshd_config & أمبير ؛ لا تنسى أن إعادة تشغيل سه (service sshd restart) أو اتركه على 22 ، ولكن إعادة توجيه المنفذ 26 على جهاز التوجيه إلى المنفذ 22 على الجهاز الثاني. أيضا ، لا تنس تغيير أي إعدادات جدار حماية على الجهاز الثاني للسماح بالاتصالات.
للوصول عبر الإنترنت ، أستخدم منفذا مخصصا (غير عادي).هذا له فائدة أنا تقليل الحمل المنتجة التي تم إنشاؤها بواسطة الاطفال النصي الذين يقومون بمسح المنفذ 22 ل"أسماء المستخدمين المعروفة".
ال الخارجية يتم التحكم في عمليات سشد من قبل xinetd وتعمل بالتوازي مع الداخليةsshd process.In المثال التالي يمكنني استخدام المنفذ 12345:
أنت حر في تغيير هذا إلى أي رقم منفذ مجاني متاح على نظامك.ربما تجعل القيمة الأعلى من غير المحتمل أيضا أن يتم فحص هذا المنفذ بواسطة "مسح المنفذ السريع".
ال xinetd التكوين هو:
service ssh-external{ socket_type = stream wait = no protocol = tcp type = UNLISTED user = root server = /usr/sbin/sshd server_args = -i -f /etc/ssh/external-sshd.config port = 12345 log_on_failure += USERID}
الملف /etc/ssh/external-ssdh.config يمكن أن يكون نسخة من المعتاد الخاص بك sshd التكوين.تأكد من تكوين العبارات التالية:
Port 12345AddressFamily inet
أقترح أيضا فرض مصادقة المفتاح العام وتعطيل مصادقة كلمة المرور للوصول إلى الإنترنت:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
كما شرحت في إجابة ذات صلة، سش العميل يسمح تحديد تنسيق أوري كما ssh://user@host:1234. على سبيل المثال:
ssh ssh://myuser@mydomain.com:2222
حيث 2222 هو رقم المنفذ. استبدل رقم المنفذ الذي تنوي استخدامه بدلا من ذلك. وبطبيعة الحال ، تذكر أنه من أجل الاتصال بخادم سش المنفذ المحدد (على المضيف الذي تحاول الاتصال) لديه للاستماع على المنفذ المحدد في المقام الأول
ليست فكرة جيدة لتشغيل سش على المنفذ الافتراضي (تكب/22) ، لا إلى الأمام من وان إب 22 إلى أي منفذ يستخدم سش الخادم على لان إب.
لجعل سه خادم الاستماع على أي منفذ معين لديك ل
تحرير على /etc/ssh/sshd_config (لاحظ ال d) من #Port 22 إلى Port 26. بمعنى آخر ، إلغاء التعليق وتغيير المنفذ. أفضل من 26 سيكون شيئا عشوائيا أعلاه (أقل من 65535) ، مثل 42895. ضع في اعتبارك أيضا التغيير إلى PermitRootLogin no.