أمثلة عملية على
SSH والتي ستنقل مهارات مسؤول النظام عن بعد إلى المستوى التالي. لن تساعد الأوامر والنصائح في استخدام
SSH
فحسب ، بل أيضًا في التنقل عبر الشبكة بشكل أكثر كفاءة.
معرفة بعض الحيل
ssh
مفيد لأي مسؤول النظام أو مهندس شبكة أو متخصص الأمان.
أمثلة SSH العملية
- الجوارب SSH الوكيل
- SSH Tunnel (Port Forwarding)
- SSH النفق إلى المضيف الثالث
- SSH عكس النفق
- SSH عكس الوكيل
- تثبيت VPN على SSH
- نسخ مفتاح SSH (ssh-copy-id)
- تنفيذ الأوامر عن بعد (غير تفاعلي)
- التقاط حزم عن بُعد وعرضها في Wireshark
- نسخ مجلد محلي إلى خادم بعيد عبر SSH
- SSH X11 عن بعد توجيه تطبيقات واجهة المستخدم الرسومية
- نسخ الملفات عن بعد باستخدام rsync و SSH
- SSH عبر شبكة Tor
- SSH إلى EC2 مثيل
- تحرير الملفات النصية باستخدام VIM عبر ssh / scp
- تركيب SSH عن بعد كمجلد محلي مع SSHFS
- SSH Multiplexing مع ControlPath
- SSH دفق الفيديو باستخدام VLC و SFTP
- المصادقة الثنائية
- القفز المضيف مع SSH و -J
- منع SSH القوة الغاشمة محاولات مع iptables
- SSH الهروب لتغيير ميناء الشحن
أساسيات أولا
SSH تحليل سطر الأوامر
يستخدم المثال التالي المعلمات المعتادة التي يتم العثور عليها غالبًا عند الاتصال بخادم
SSH
بعيد.
localhost:~$ ssh -v -p 22 -C neo@remoteserver
-v
: إخراج التصحيح مفيد بشكل خاص عند تحليل مشكلات المصادقة. يمكنك استخدامه عدة مرات لعرض معلومات إضافية.- p 22
: منفذ للاتصال بخادم SSH عن بعد. 22 ليس من الضروري تحديده ، لأن هذه هي القيمة الافتراضية ، ولكن إذا كان البروتوكول موجودًا على منفذ آخر ، فإننا نحدده باستخدام المعلمة -p
. يتم تحديد منفذ الاستماع في ملف sshd_config
بالتنسيق Port 2222
.-C
: ضغط للاتصال. إذا كان لديك تغذية بطيئة أو كنت تشاهد نصًا كبيرًا ، فقد يؤدي ذلك إلى تسريع الاتصال.neo@
: يشير السطر الموجود قبل الرمز @ إلى اسم المستخدم للمصادقة على الخادم البعيد. إذا لم تحدده ، فسيتم استخدام اسم المستخدم للحساب الذي سجلت الدخول إليه افتراضيًا (~ $ whoami). يمكن أيضًا تحديد المستخدم باستخدام الخيار -l
.remoteserver
: اسم المضيف الذي تتصل به ssh
، يمكن أن يكون اسم مجال مؤهل بالكامل أو عنوان IP أو أي مضيف في ملف المضيفين المحليين. للاتصال بمضيف يدعم كلاً من IPv4 و IPv6 ، يمكنك إضافة الخيار -4
أو -6
إلى سطر الأوامر للحصول على دقة مناسبة.
جميع الخيارات المذكورة أعلاه اختيارية باستثناء
remoteserver
.
باستخدام ملف التكوين
على الرغم من أن الكثير منهم على دراية بملف
sshd_config
، إلا أن هناك ملف تكوين عميل للأمر
ssh
. القيمة الافتراضية هي
~/.ssh/config
، ولكن يمكن تعريفها كمعلمة للخيار
-F
.
Host * Port 2222 Host remoteserver HostName remoteserver.thematrix.io User neo Port 2112 IdentityFile /home/test/.ssh/remoteserver.private_key
يحتوي ملف تكوين ssh المثال أعلاه على إدخالات مضيفين. يشير الأول إلى جميع المضيفين ، يتم استخدام معلمة التكوين Port 2222 للجميع ، والثاني يقول أنه بالنسبة لمضيف جهاز
التحكم عن بُعد ، استخدم اسم مستخدم مختلفًا ومنفذًا و FQDN و IdentityFile.
يمكن لملف التكوين توفير الكثير من الوقت في كتابة الأحرف ، مما يتيح لك تطبيق التكوين المتقدم تلقائيًا عند الاتصال بمضيفين محددين.
انسخ الملفات عبر SSH باستخدام SCP
يأتي عميل SSH مع أداتين أخريين مناسبتين للغاية لنسخ الملفات عبر
اتصال ssh مشفر . انظر أدناه للحصول على مثال للاستخدام القياسي لأوامر scp و sftp. لاحظ أن العديد من خيارات ssh تنطبق على هذه الأوامر أيضًا.
localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png
في هذا المثال ،
يتم نسخ الملف
mypic.png إلى
وحدة التحكم عن بُعد في المجلد
/ media / data وإعادة تسميته إلى
mypic_2.png .
لا تنسى الفرق في المعلمة المنفذ. هذا يأتي عبر العديد من الذين يقومون بتشغيل
scp
من سطر الأوامر. هنا معلمة المنفذ هي
-P
، وليس
-p
، كما في عميل ssh! سوف تنسى ، ولكن لا تقلق ، فسينسى الجميع.
بالنسبة لأولئك المطلعين على وحدة التحكم
ftp
، فإن العديد من الأوامر متشابهة في
sftp
. يمكنك أن تفعل
الضغط ،
ووضع و
ls حسب رغبة قلبك.
sftp neo@remoteserver
أمثلة عملية
في العديد من هذه الأمثلة ، يمكن تحقيق النتيجة بطرق مختلفة. كما هو الحال مع جميع
الكتب المدرسية والأمثلة لدينا ، يتم إعطاء الأفضلية للأمثلة العملية التي تؤدي وظيفتها ببساطة.
1. الجوارب SSH الوكيل
SSH Proxy في الرقم 1 لسبب وجيه. إنه أكثر قوة مما يفترضه الكثيرون ، ويمنحك إمكانية الوصول إلى أي نظام يستطيع الخادم البعيد الوصول إلى استخدام أي تطبيق تقريبًا. يمكن للعميل ssh نقل نفق عبر وكيل SOCKS باستخدام أمر واحد بسيط. من المهم أن نفهم أن حركة المرور إلى الأنظمة البعيدة سوف تأتي من خادم بعيد ، كما هو مبين في سجلات خادم الويب.
localhost:~$ ssh -D 8888 user@remoteserver localhost:~$ netstat -pan | grep 8888 tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 23880/ssh
هنا نقوم بتشغيل وكيل الجوارب على منفذ TCP 8888 ، يتحقق الأمر الثاني من أن المنفذ نشط في وضع الاستماع. 127.0.0.1 يشير إلى أن الخدمة تعمل فقط على المضيف المحلي. يمكننا استخدام أمر مختلف قليلاً للاستماع إلى جميع الواجهات ، بما في ذلك ethernet أو wifi ، وهذا سيسمح للتطبيقات الأخرى (المتصفحات ، إلخ) على شبكتنا بالاتصال بخدمة الوكيل عبر الوكيل ssh socks.
localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver
الآن يمكننا تهيئة المتصفح للاتصال بوكيل الجوارب. في Firefox ، حدد
الإعدادات | يسلط الضوء | إعدادات الشبكة تحديد عنوان IP والمنفذ للاتصال.

انتبه إلى الخيار الموجود في الجزء السفلي من النموذج بحيث تمر استعلامات DNS الخاصة بالمتصفح أيضًا من خلال بروكسيات SOCKS. إذا كنت تستخدم خادمًا وكيلًا لتشفير حركة مرور الويب على الشبكة المحلية ، فمن المحتمل أنك تريد تحديد هذا الخيار بحيث يتم نقل استعلامات DNS عبر اتصال SSH.
الجوارب تفعيل الوكيل في كروم
يؤدي تشغيل Chrome مع بعض خيارات سطر الأوامر إلى تنشيط بروكسيات الجوارب ، بالإضافة إلى نفق استعلامات DNS من المتصفح. الثقة ، ولكن تحقق. استخدم
tcpdump للتحقق من أن استعلامات DNS لم تعد مرئية.
localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"
باستخدام تطبيقات الوكيل الأخرى
ضع في اعتبارك أن العديد من التطبيقات الأخرى يمكنها أيضًا استخدام بروكسيات الجوارب. متصفح الويب هو ببساطة الأكثر شعبية منهم. تحتوي بعض التطبيقات على خيارات تكوين لتنشيط خادم وكيل. يحتاج الآخرون إلى القليل من المساعدة في برنامج المساعد. على سبيل المثال ، تتيح
لك سلاسل البروكسي تشغيل Microsoft RDP ، وما إلى ذلك من خلال بروكسيات الجوارب.
localhost:~$ proxychains rdesktop $RemoteWindowsServer
يتم تعيين معلمات التكوين الوكيل الجوارب في ملف تكوين الوكيل.
تلميح: إذا كنت تستخدم سطح المكتب البعيد من Linux على Windows؟ جرب عميل FreeRDP . هذا هو تطبيق أكثر حداثة من rdesktop
، مع تفاعل أكثر سلاسة.
SSH الخيار من خلال الجوارب وكيل
أنت تجلس في مقهى أو فندق - وتضطر إلى استخدام خدمة WiFi غير موثوق بها إلى حد ما. من الكمبيوتر المحمول ، قم بتشغيل وكيل ssh محليًا وتثبيت نفق ssh في الشبكة المنزلية على Rasberry Pi المحلي. باستخدام متصفح أو تطبيقات أخرى مكونة لوكلاء الجوارب ، يمكننا الوصول إلى أي خدمات شبكة على شبكتنا المنزلية أو الوصول إلى الإنترنت من خلال اتصال منزلي. يتم تشفير كل شيء بين الكمبيوتر المحمول وخادم منزلك (عبر Wi-Fi والإنترنت إلى منزلك) في نفق SSH.
2. نفق SSH (ميناء الشحن)
في أبسط أشكاله ، يفتح نفق SSH ببساطة منفذًا على نظامك المحلي يتصل بمنفذ آخر في الطرف الآخر من النفق.
localhost:~$ ssh -L 9999:127.0.0.1:80 user@remoteserver
دعونا دراسة الخيار
-L
. يمكن تمثيله كالجانب المحلي للاستماع. وبالتالي ، في المثال أعلاه ، يتم الاستماع إلى المنفذ 9999 من جانب المضيف المحلي ويتم إعادة توجيهه عبر المنفذ 80 إلى جهاز التحكم عن بُعد. يرجى ملاحظة أن 127.0.0.1 يشير إلى المضيف المحلي على الخادم البعيد!
دعنا نذهب خطوة. في المثال التالي ، تتواصل منافذ الاستماع مع العقد الأخرى على الشبكة المحلية.
localhost:~$ ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver
في هذه الأمثلة ، نتصل بالمنفذ على خادم الويب ، ولكن يمكن أن يكون خادمًا وكيلًا أو أي خدمة TCP أخرى.
3. نفق SSH إلى مضيف طرف ثالث
يمكننا استخدام نفس المعلمات لتوصيل نفق من خادم بعيد إلى خدمة أخرى تعمل على نظام ثالث.
localhost:~$ ssh -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver
في هذا المثال ، نعيد توجيه النفق من جهاز التحكم عن بُعد إلى خادم ويب يعمل في 10.10.10.10.
لم تعد حركة المرور باستخدام جهاز التحكم عن بُعد بمقدار 10.10.10.10
في نفق SSH . في 10.10.10.10 ، سيعتبر خادم الويب remoteserver كمصدر لطلبات الويب.
4. عكس نفق SSH
نحن هنا نقوم بتهيئة منفذ الاستماع على الخادم البعيد ، والذي سيتم توصيله مرة أخرى بالمنفذ المحلي على مضيفنا المحلي (أو أي نظام آخر).
localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver
في جلسة SSH هذه ، تم تأسيس اتصال من المنفذ 1999 على جهاز التحكم عن بُعد إلى المنفذ 902 على عميلنا المحلي.
5. عكس وكيل SSH
في هذه الحالة ، نقوم بتثبيت وكيل الجوارب على اتصال ssh الخاص بنا ، ومع ذلك ، يستمع الوكيل على الطرف البعيد من الخادم. تظهر الاتصالات بهذا الوكيل البعيد من النفق كحركة مرور من المضيف المحلي لدينا.
localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver
استكشاف الأخطاء وإصلاحها عن بعد SSH الأنفاق
إذا كانت لديك مشاكل مع خيارات SSH البعيدة ، فتحقق من
netstat
مع الواجهات الأخرى التي يتصل بها منفذ الاستماع. على الرغم من أننا حددنا 0.0.0.0 في الأمثلة ، ولكن إذا تم
تعيين قيمة
GatewayPorts في
sshd_config إلى
لا ، فسيتم ربط المستمع فقط بـ المضيف المحلي (127.0.0.1).
تحذير السلامة
يرجى ملاحظة أنه عند فتح وكلاء الأنفاق والجوارب ، قد تكون موارد الشبكة الداخلية متاحة للشبكات غير الموثوق بها (على سبيل المثال ، الإنترنت!). قد يمثل ذلك خطرا أمنيا خطيرا ، لذا تأكد من أنك تفهم ماهية المستمع وما يمكنه الوصول إليه.
6. تثبيت VPN على SSH
المصطلح العام بين المتخصصين في أساليب الهجوم (pentesters ، وما إلى ذلك) هو "نقطة ارتكاز الشبكة". بعد إنشاء اتصال في نظام واحد ، يصبح هذا النظام بوابة لمزيد من الوصول إلى الشبكة. نقطة ارتكاز تسمح لك بالتحرك في اتساع.
بالنسبة لمثل هذه
النقطة ، يمكننا استخدام بروكسيات SSH ووكلاء
الوكيل ، ولكن هناك بعض القيود. على سبيل المثال ، لن تكون قادرًا على العمل مباشرة مع المقابس ، لذلك لن نتمكن من فحص المنافذ داخل الشبكة عبر
Nmap SYN
.
باستخدام خيار VPN الأكثر تقدماً ، ينخفض الاتصال إلى
المستوى 3 . ثم يمكننا ببساطة توجيه حركة المرور عبر النفق باستخدام توجيه الشبكة القياسي.
يستخدم الأسلوب
ssh
،
iptables
،
tun interfaces
و التوجيه.
تحتاج أولاً إلى تعيين هذه المعلمات في
sshd_config
. نظرًا لأننا نجري تغييرات على واجهات كل من الأنظمة البعيدة وأنظمة العميل ، فإننا
نحتاج إلى امتيازات الجذر من كلا الجانبين .
PermitRootLogin yes PermitTunnel yes
ثم قم بتأسيس اتصال ssh باستخدام معلمة تطلب تهيئة أجهزة tun.
localhost:~
الآن يجب أن يكون لدينا جهاز tun عند عرض الواجهات (
# ip a
). ستضيف الخطوة التالية عناوين IP إلى واجهات النفق.
SSH جانب العميل:
localhost:~
جانب خادم SSH:
remoteserver:~
الآن لدينا طريق مباشر إلى مضيف آخر (
route -n
و
ping 10.10.10.10
).
يمكنك توجيه أي شبكة فرعية عبر المضيف على الجانب الآخر.
localhost:~
على الجانب البعيد ، يجب عليك تمكين
ip_forward
و
iptables
.
remoteserver:~
بوم!
VPN عبر نفق SSH في طبقة الشبكة 3 . هذا بالفعل انتصار.
إذا واجهت أي مشاكل ، استخدم
tcpdump و
ping
لتحديد السبب. نظرًا لأننا نلعب في المستوى 3 ، فإن حزم icmp الخاصة بنا سوف تمر عبر هذا النفق.
7. نسخ مفتاح SSH (ssh-copy-id)
هناك عدة طرق ، لكن هذا الأمر يوفر الوقت حتى لا يتم نسخ الملفات يدويًا. ببساطة ينسخ ~ / .ssh / id_rsa.pub (أو المفتاح الافتراضي) من النظام الخاص بك إلى
~/.ssh/authorized_keys
على الخادم البعيد.
localhost:~$ ssh-copy-id user@remoteserver
8. تنفيذ الأوامر عن بعد (غير تفاعلي)
يمكن ربط الأمر
ssh
بأوامر أخرى للواجهة سهلة الاستخدام المعتادة. فقط أضف الأمر الذي تريد تشغيله على المضيف البعيد كمعلمة أخيرة في علامات اقتباس.
localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php
في هذا المثال ، يعمل
grep
على النظام المحلي بعد تنزيل السجل عبر قناة ssh. إذا كان الملف كبيرًا ، فمن الملائم تشغيل
grep
على الجانب البعيد ، مع تضمين كلتا الأمرين في علامات اقتباس مزدوجة.
مثال آخر يؤدي نفس الوظيفة مثل
ssh-copy-id
من المثال 7.
localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'
9. التقاط حزمة عن بعد وعرضها في Wireshark
أخذت أحد
أمثلة tcpdump لدينا. استخدامها لاعتراض الحزم عن بعد مع النتيجة مباشرة في واجهة المستخدم الرسومية Wireshark المحلي.
:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
10. نسخ مجلد محلي إلى خادم بعيد عبر SSH
خدعة جميلة تضغط مجلدًا باستخدام
bzip2
(هذا هو الخيار -j في الأمر
tar
) ثم تقوم باستخراج دفق
bzip2
على الجانب الآخر ، مما يؤدي إلى إنشاء نسخة مكررة من المجلد على الخادم البعيد.
localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"
11. البعيد SSH X11 إعادة توجيه تطبيقات واجهة المستخدم الرسومية
إذا كان العميل والخادم البعيد مثبتًا على X ، فيمكنك تنفيذ أمر واجهة المستخدم الرسومية عن بُعد ، من خلال نافذة على سطح المكتب المحلي. هذه الميزة موجودة منذ وقت طويل ، لكنها لا تزال مفيدة للغاية. قم بتشغيل مستعرض ويب عن بُعد أو حتى وحدة تحكم VMWawre Workstation ، كما أفعل في هذا المثال.
localhost:~$ ssh -X remoteserver vmware
يتطلب سطر
X11Forwarding yes
في ملف
sshd_config
.
12. نسخ الملفات عن بعد باستخدام rsync و SSH
يعد
rsync
أكثر ملاءمة من
scp
إذا كنت بحاجة إلى النسخ الاحتياطي للدليل أو عدد كبير من الملفات أو الملفات الكبيرة جدًا بشكل دوري. هناك وظيفة لاستعادة من فشل الإرسال ونسخ الملفات المعدلة فقط ، مما يوفر حركة المرور والوقت.
يستخدم هذا المثال ضغط
gzip
(-z) ووضع الأرشفة (-a) ، مما يتيح النسخ المتكرر.
:~$ rsync -az /home/testuser/data remoteserver:backup/
13. SSH عبر شبكة Tor
يمكن لشبكة Tor مجهولة الوصول إلى نفق SSH باستخدام
torsocks
. سوف يرمي الأمر التالي وكيل ssh عبر Tor.
localhost:~$ torsocks ssh myuntracableuser@remoteserver
سوف
Torsocks استخدام المنفذ 9050 للوكيل على المضيف
المحلي . كما هو الحال دائمًا ، عند استخدام Tor ، يجب عليك التحقق بشكل جاد من حركة المرور التي يتم نفقها وغيرها من مشكلات الأمان التشغيلي (opsec).
إلى أين تذهب استفسارات DNS الخاصة بك؟14. SSH إلى مثيل EC2
مطلوب مفتاح خاص للاتصال بمثيل EC2. قم بتنزيله (extension .pem) من لوحة التحكم Amazon EC2 وتغيير الأذونات (
chmod 400 my-ec2-ssh-key.pem
). احتفظ بالمفتاح في مكان آمن أو ضعه في مجلد
~/.ssh/
.
localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public
يخبر
الخيار -i ببساطة عميل ssh باستخدام رمز التبديل هذا. يعد ملف
~/.ssh/config
مثاليًا لتكوين استخدام المفتاح تلقائيًا عند الاتصال بمضيف ec2.
Host my-ec2-public Hostname ec2???.compute-1.amazonaws.com User ubuntu IdentityFile ~/.ssh/my-ec2-key.pem
15. تحرير الملفات النصية باستخدام VIM عبر ssh / scp
لجميع عشاق
vim
، وهذا تلميح سيوفر القليل من الوقت. باستخدام
vim
يتم تحرير الملفات باستخدام scp بأمر واحد. تقوم هذه الطريقة ببساطة بإنشاء الملف محليًا في
/tmp
ثم تنسخه مرةً أخرى بمجرد حفظه من
vim
.
localhost:~$ vim scp://user@remoteserver//etc/hosts
ملاحظة: التنسيق مختلف قليلاً عن
scp
العادي. بعد المضيف ، لدينا مزدوج
//
. هذا رابط إلى المسار المطلق. شرطة مائلة واحدة تعني المسار بالنسبة للمجلد الرئيسي
users
.
**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])
إذا رأيت هذا الخطأ ، فقم بالتحقق من تنسيق الأمر. هذا يعني عادة خطأ في بناء الجملة.
16. تركيب SSH عن بعد كمجلد محلي مع SSHFS
باستخدام
sshfs
، عميل نظام الملفات
ssh
، يمكننا توصيل الدليل المحلي بموقع بعيد مع كل تفاعلات الملفات في جلسة
ssh
مشفرة.
localhost:~$ apt install sshfs
نقوم بتثبيت حزمة
sshfs
على Ubuntu و Debian ، ثم نقوم فقط بتثبيت الموقع البعيد على نظامنا.
localhost:~$ sshfs user@remoteserver:/media/data ~/data/
17. SSH Multiplexing مع ControlPath
افتراضيًا ، إذا كان لديك اتصال موجود بالخادم البعيد باستخدام
ssh
الاتصال الثاني باستخدام
ssh
أو
scp
ينشئ جلسة جديدة بمصادقة إضافية. يتيح لك خيار
ControlPath
استخدام جلسة حالية لجميع الاتصالات اللاحقة. سيؤدي ذلك إلى تسريع العملية بشكل كبير: التأثير ملحوظ حتى على الشبكة المحلية ، وأكثر من ذلك عند الاتصال بالموارد البعيدة.
Host remoteserver HostName remoteserver.example.org ControlMaster auto ControlPath ~/.ssh/control/%r@%h:%p ControlPersist 10m
يخبر ControlPath المقبس للتحقق من الاتصالات الجديدة لجلسة
ssh
نشطة. يعني الخيار الأخير أنه حتى بعد الخروج من وحدة التحكم ، ستبقى الجلسة الحالية مفتوحة لمدة 10 دقائق ، لذا يمكنك خلال هذا الوقت إعادة الاتصال بالمقبس الموجود. راجع مساعدة
ssh_config man
لمزيد من المعلومات.
18. دفق الفيديو عبر SSH باستخدام VLC و SFTP
حتى مستخدمو
ssh
و
vlc
(Video Lan Client) القديمان لا يعرفان دائمًا عن هذا الخيار المريح عندما تحتاج حقًا إلى مشاهدة الفيديو على الشبكة. في
ملف الإعدادات
| يمكن لبرنامج
Open Network Stream vlc
إدخال الموقع كـ
sftp://
. إذا كانت كلمة المرور مطلوبة ، فستظهر مطالبة.
sftp://remoteserver//media/uploads/myvideo.mkv
19. اثنين عامل التوثيق
تنطبق المصادقة الثنائية نفسها التي ينطبق عليها حسابك المصرفي أو حساب Google على خدمة SSH.
بالطبع ، لدى
ssh
البداية وظيفة مصادقة ثنائية العامل ، مما يعني كلمة المرور ومفتاح SSH. تتمثل ميزة رمز الجهاز أو تطبيق Google Authenticator في أنه عادة ما يكون جهازًا فعليًا مختلفًا.
راجع دليلنا الذي مدته 8 دقائق حول
استخدام Google Authenticator و SSH .
20. مضيف يقفز مع ssh و -J
إذا كان عليك ، بسبب تجزئة الشبكة ، عبور مضيفي ssh للوصول إلى الشبكة الوجهة النهائية ، فإن اختصار -J سيوفر لك الوقت.
localhost:~$ ssh -J host1,host2,host3 user@host4.internal
الشيء الرئيسي الذي يجب فهمه هنا هو أن هذا ليس مماثلاً
ssh host1
، ثم
user@host1:~$ ssh host2
، وما إلى ذلك. تستخدم المعلمة
user@host1:~$ ssh host2
إعادة التوجيه بذكاء حتى يقوم مضيف محلي بإنشاء جلسة مع المضيف التالي في السلسلة. وبالتالي ، في المثال أعلاه ، يقوم مضيفنا المحلي بالمصادقة على host4. هذا هو ، يتم استخدام مفاتيح المضيف المحلي لدينا ، ويتم تشفير الجلسة بالكامل من المضيف المحلي إلى المضيف 4.
للقيام بذلك ، حدد خيار تكوين
proxyJump في
ssh_config . إذا كنت مضطرًا بانتظام إلى المرور بالعديد من المضيفين ، فستوفر الأتمتة من خلال التكوين الكثير من الوقت.
21. حظر SSH القوة الغاشمة محاولات استخدام iptables
أي شخص يدير خدمة SSH ونظر في السجلات يعرف عدد محاولات القوة الغاشمة التي تحدث كل ساعة يوميًا. تتمثل الطريقة السريعة لتقليل الضوضاء في السجلات في نقل SSH إلى منفذ غير قياسي. قم بإجراء تغييرات على ملف
sshd_config
باستخدام معلمة التكوين
Port ## .
باستخدام
iptables
، يمكنك أيضًا حظر محاولات الاتصال بمنفذ بسهولة بعد بلوغ حد معين.
طريقة سهلة للقيام بذلك هي استخدام OSSEC ، لأنه لا يحجب SSH فحسب ، بل ينفذ مجموعة من تدابير الكشف عن التطفل المستندة إلى المضيف (HIDS).22. SSH الهروب لتغيير ميناء الشحن
ومثالنا الأخير ssh
هو تغيير توجيه المنافذ سريعًا في جلسة حالية ssh
. تخيل هذا السيناريو. أنت عميقة عبر الإنترنت ؛ ربما تكون قد قفزت أكثر من نصف دزينة من المضيفين وتحتاج إلى منفذ محلي على محطة العمل التي تمت إعادة توجيهها إلى Microsoft SMB لنظام Windows 2003 القديم (هل يتذكر أحد ms08-67؟).بالنقر فوق enter
، حاول الكتابة في وحدة التحكم ~C
. هذا هو تسلسل تحكم في جلسة تسمح لك بإجراء تغييرات على اتصال موجود. localhost:~$ ~C ssh> -h Commands: -L[bind_address:]port:host:hostport Request local forward -R[bind_address:]port:host:hostport Request remote forward -D[bind_address:]port Request dynamic forward -KL[bind_address:]port Cancel local forward -KR[bind_address:]port Cancel remote forward -KD[bind_address:]port Cancel dynamic forward ssh> -L 1445:remote-win2k3:445 Forwarding port.
يمكنك هنا أن نعيد توجيه منفذنا المحلي 1445 إلى مضيف Windows 2003 الذي وجدناه على الشبكة الداخلية. الآن فقط قم بتشغيله msfconsole
ويمكنك الانتقال (مع افتراض أنك تخطط لاستخدام هذا المضيف).الانتهاء
ssh
يجب أن توفر هذه الأمثلة والنصائح والأوامر نقطة انطلاق ؛ مزيد من المعلومات حول كل أمر من الأوامر والميزات المتوفرة على صفحات المساعدة ( man ssh
، man ssh_config
، man sshd_config
).لقد كنت مفتونًا دائمًا بالقدرة على الوصول إلى الأنظمة وتنفيذ الأوامر في أي مكان في العالم. تطوير مهاراتك في العمل باستخدام أدوات مثلك ssh
سوف يصبح أكثر فعالية في أي لعبة تلعبها.