عملي طريقا، مثال، ۽ SSH سرنگون

عملي طريقا، مثال، ۽ SSH سرنگون
عملي مثال ايس، جيڪو توهان جي صلاحيتن کي ريموٽ سسٽم ايڊمنسٽريٽر جي حيثيت سان نئين سطح تي وٺي ويندو. حڪم ۽ ٽوٽڪا نه رڳو استعمال ڪرڻ ۾ مدد ڏيندو SSH، پر پڻ نيٽ ورڪ کي وڌيڪ قابليت سان نيويگيٽ ڪريو.

ڪجھ ترڪيبون ڄاڻڻ ssh ڪنهن به سسٽم ايڊمنسٽريٽر، نيٽ ورڪ انجنيئر يا سيڪيورٽي ماهرن لاءِ مفيد.

عملي SSH مثال

  1. SSH جراب پراکسي
  2. SSH سرنگ (پورٽ فارورڊنگ)
  3. SSH سرنگ ٽئين ميزبان ڏانهن
  4. ريورس SSH سرنگ
  5. SSH ريورس پراکسي
  6. SSH مٿان VPN انسٽال ڪرڻ
  7. هڪ SSH چاٻي کي نقل ڪندي (ssh-copy-id)
  8. ريموٽ ڪمانڊ ايگزيڪيوشن (غير انٽرايڪٽو)
  9. Remote Packet Capture and viewing Wireshark ۾
  10. مقامي فولڊر کي نقل ڪندي ريموٽ سرور ڏانهن SSH ذريعي
  11. ريموٽ GUI ايپليڪيشنون SSH X11 فارورڊنگ سان
  12. ريموٽ فائل ڪاپي rsync ۽ SSH استعمال ڪندي
  13. Tor نيٽ ورڪ تي SSH
  14. SSH کان EC2 مثال
  15. ssh/scp ذريعي VIM استعمال ڪندي ٽيڪسٽ فائلن کي ايڊٽ ڪرڻ
  16. ريموٽ SSH کي مقامي فولڊر طور SSHFS سان گڏ ڪريو
  17. ControlPath سان ملٽي پلڪسنگ SSH
  18. VLC ۽ SFTP استعمال ڪندي SSH مٿان وڊيو اسٽريم ڪريو
  19. ٻه عنصر جي تصديق
  20. جمپنگ هوسٽ سان SSH ۽ -J
  21. iptables استعمال ڪندي SSH وحشي قوت جي ڪوشش کي بلاڪ ڪرڻ
  22. پورٽ فارورڊنگ کي تبديل ڪرڻ لاءِ SSH Escape

پهرين بنيادي

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 ترتيب واري فائل ۾ ٻه ميزبان داخلا آهن. پهرين جو مطلب آهي سڀئي ميزبان، سڀ استعمال ڪري رهيا آهن پورٽ 2222 ترتيب واري پيٽرولر کي. ٻيو چوي ٿو ميزبان لاءِ remoteserver هڪ مختلف يوزر نالو، پورٽ، FQDN ۽ IdentityFile استعمال ڪيو وڃي.

ھڪڙي ٺاھ جوڙ واري فائل ٽائپنگ جو گھڻو وقت بچائي سگھي ٿي، خاص ھوسٽن سان ڳنڍڻ دوران ترقي يافته ٺاھ جوڙ خودڪار طريقي سان لاڳو ٿيڻ جي اجازت ڏيندي.

فائلن کي نقل ڪندي SSH مٿان SCP استعمال ڪندي

SSH ڪلائنٽ فائلن کي نقل ڪرڻ لاء ٻه ٻيا تمام آسان اوزار سان گڏ اچي ٿو encrypted ssh ڪنيڪشن. scp ۽ sftp حڪمن جي معياري استعمال جو مثال هيٺ ڏسو. نوٽ ڪريو ته ssh جا ڪيترائي اختيار انھن حڪمن تي لاڳو ٿين ٿا.

localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png

هن مثال ۾ فائل mypic.png ڏانهن نقل ڪيو ويو remoteserver فولڊر ڏانهن /ميڊيا/ڊيٽا ۽ نالو تبديل ڪيو ويو mypic_2.png.

بندرگاهن جي ماپ ۾ فرق جي باري ۾ نه وساريو. هي اهو آهي جتي ڪيترائي ماڻهو پڪڙي ويندا آهن جڏهن اهي لانچ ڪندا آهن scp ڪمانڊ لائن کان. هتي پورٽ پيٽرولر آهي -P۽ نه -p، بس هڪ ssh ڪلائنٽ وانگر! توهان وساريندا، پر پريشان نه ڪريو، هرڪو وساريندو.

انهن لاء جيڪي ڪنسول کان واقف آهن ftp، ڪيترائي حڪم ساڳيا آهن sftp. توهان ڪري سگهو ٿا پئو, وجهي и lsجيئن دل چاهي ٿي.

sftp neo@remoteserver

عملي مثال

انهن مان ڪيترن ئي مثالن ۾، نتيجن کي مختلف طريقن سان استعمال ڪري سگهجي ٿو. جيئن اسان جي سڀني ۾ درسي ڪتاب ۽ مثال، ترجيح ڏني ويندي عملي مثالن کي جيڪي صرف پنهنجو ڪم ڪن.

1. SSH جراب پراکسي

سٺي سبب لاءِ SSH پراکسي خصوصيت نمبر 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 اشارو ڪري ٿو ته خدمت صرف مقامي هوسٽ تي هلندو آهي. اسان ڪجھ مختلف ڪمانڊ استعمال ڪري سگھون ٿا سڀني انٽرفيس تي ٻڌڻ لاءِ، بشمول ايٿرنيٽ يا وائي فائي، ھي اسان جي نيٽ ورڪ تي ٻين ايپليڪيشنن (برائوزرز، وغيره) کي ssh socks proxy ذريعي پراکسي سروس سان ڳنڍڻ جي اجازت ڏيندو.

localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver

ھاڻي اسان برائوزر کي ترتيب ڏئي سگھون ٿا جراب پراکسي سان ڳنڍڻ لاء. فائر فاکس ۾، چونڊيو سيٽنگون | بنيادي | نيٽ ورڪ سيٽنگون. ڳنڍڻ لاءِ IP پتو ۽ بندرگاهه بيان ڪريو.

عملي طريقا، مثال، ۽ SSH سرنگون

مهرباني ڪري نوٽ ڪريو ته فارم جي تري ۾ ڏنل اختيار کي پڻ توهان جي برائوزر جي DNS درخواستن کي هڪ SOCKS پراکسي ذريعي وڃڻ گهرجي. جيڪڏهن توهان پنهنجي مقامي نيٽ ورڪ تي ويب ٽرئفڪ کي انڪرپٽ ڪرڻ لاءِ پراکسي سرور استعمال ڪري رهيا آهيو، ته توهان شايد اهو اختيار چونڊڻ چاهيو ٿا ته جيئن DNS درخواستون SSH ڪنيڪشن ذريعي سرنگ ٿي وڃن.

ڪروم ۾ جراب پراکسي کي چالو ڪرڻ

خاص ڪمانڊ لائن پيٽرولر سان ڪروم کي لانچ ڪرڻ سان ساڪس پراکسي کي فعال ڪندو، انهي سان گڏ برائوزر کان DNS درخواستن کي سرنگ ڪرڻ. اعتبار ڪريو پر چيڪ ڪريو. استعمال ڪريو ٽي سي پيمپ چيڪ ڪرڻ لاءِ ته DNS سوال هاڻي نظر نه ٿا اچن.

localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"

پراکسي سان گڏ ٻيون ايپليڪيشنون استعمال ڪندي

ذهن ۾ رکو ته ڪيتريون ئي ٻيون ايپليڪيشنون شايد جراب پراکسي استعمال ڪري سگھن ٿيون. ويب برائوزر صرف انهن سڀني مان تمام گهڻو مشهور آهي. پراکسي سرور کي فعال ڪرڻ لاءِ ڪجھ ايپليڪيشنن وٽ ترتيب جا اختيار آھن. ٻين کي هڪ مددگار پروگرام سان ٿوري مدد جي ضرورت آهي. مثال طور، proxychains توهان کي هڪ جراب پراکسي Microsoft RDP، وغيره ذريعي هلائڻ جي اجازت ڏئي ٿي.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

جراب پراکسي ٺاھ جوڙ جا پيرا ميٽر مقرر ڪيا ويا آھن proxychains ترتيب واري فائل ۾.

اشارو: جيڪڏهن توهان ونڊوز تي لينڪس کان ريموٽ ڊيسڪ ٽاپ استعمال ڪندا آهيو؟ ڪسٽمر جي ڪوشش ڪريو فري آر ڊي پي. اهو هڪ کان وڌيڪ جديد عمل آهي rdesktop، هڪ تمام آسان تجربو سان.

جراب پراکسي ذريعي SSH استعمال ڪرڻ جو اختيار

توهان هڪ ڪيفي يا هوٽل ۾ ويٺا آهيو - ۽ ناقابل اعتبار وائي فائي استعمال ڪرڻ تي مجبور آهيو. اسان هڪ ليپ ٽاپ تان مقامي طور تي هڪ ssh پراکسي لانچ ڪريون ٿا ۽ هڪ مقامي Rasberry Pi تي گهر نيٽ ورڪ ۾ ssh سرنگ انسٽال ڪريو. استعمال ڪندي هڪ برائوزر يا ٻيون ايپليڪيشنون ترتيب ڏنل هڪ جراب پراکسي لاءِ، اسان پنهنجي گهر جي نيٽ ورڪ تي ڪنهن به نيٽ ورڪ خدمتن تائين رسائي ڪري سگهون ٿا يا اسان جي گهر ڪنيڪشن ذريعي انٽرنيٽ تائين رسائي ڪري سگهون ٿا. توهان جي ليپ ٽاپ ۽ توهان جي گهر جي سرور جي وچ ۾ هر شي (وائي فائي ۽ انٽرنيٽ ذريعي توهان جي گهر تائين) هڪ 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 تي ويب سرور ريموٽ سرور کي ويب درخواستن جو ذريعو سمجھندو.

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 اشارو ڪيو، پر جيڪڏهن قدر گيٽ وي پورٽس в sshd_config تي مقرر نه، پوءِ ٻڌندڙ صرف لوڪل هوسٽ (127.0.0.1) جو پابند هوندو.

سيڪيورٽي ڊيڄاريندڙ

مهرباني ڪري نوٽ ڪريو ته سرنگن ۽ جرابين جي پراڪسز کي کولڻ سان، اندروني نيٽ ورڪ وسيلن کي ناقابل اعتبار نيٽ ورڪ تائين رسائي ٿي سگھي ٿي (جهڙوڪ انٽرنيٽ!). اهو هڪ سنگين سيڪيورٽي خطرو ٿي سگهي ٿو، تنهن ڪري پڪ ڪريو ته توهان سمجهو ٿا ته ٻڌندڙ ڇا آهي ۽ انهن جي رسائي ڇا آهي.

6. انسٽال ڪرڻ VPN ذريعي SSH

حملي جي طريقن ۾ ماهرن جي وچ ۾ هڪ عام اصطلاح (پينٽسٽر، وغيره) آهي "نيٽ ورڪ ۾ هڪ مڪمل." هڪ دفعو هڪ سسٽم تي هڪ ڪنيڪشن قائم ٿيڻ کان پوء، اهو سسٽم نيٽ ورڪ تائين وڌيڪ رسائي لاء گيٽ وي بڻجي ويندو آهي. هڪ فلڪرم جيڪو توهان کي وسعت ۾ منتقل ڪرڻ جي اجازت ڏئي ٿو.

اهڙي قدم لاءِ اسان استعمال ڪري سگهون ٿا SSH پراکسي ۽ proxychainsجيتوڻيڪ اتي ڪي حدون آهن. مثال طور، ساکٽ سان سڌو ڪم ڪرڻ ممڪن نه ٿيندو، تنهنڪري اسان نيٽ ورڪ جي اندر بندرگاهن کي اسڪين ڪرڻ جي قابل نه هوندا. ايم پيپ SYN.

ھن وڌيڪ ترقي يافته وي پي اين اختيار کي استعمال ڪندي، ڪنيڪشن گھٽجي ويو آھي سطح 3. اسان وري آساني سان ٽريفڪ کي سرنگ ذريعي معياري نيٽ ورڪ روٽنگ استعمال ڪري سگھون ٿا.

طريقو استعمال ڪري ٿو ssh, iptables, tun interfaces ۽ رستو.

پهرين توهان کي انهن پيٽرولن کي ترتيب ڏيڻ جي ضرورت آهي sshd_config. جيئن ته اسان ريموٽ ۽ ڪلائنٽ سسٽم ٻنهي جي انٽرفيس ۾ تبديليون ڪري رهيا آهيون، اسان ٻنهي پاسن تي بنيادي حقن جي ضرورت آهي.

PermitRootLogin yes
PermitTunnel yes

ان کان پوء اسان پيراميٽر استعمال ڪندي هڪ ssh ڪنيڪشن قائم ڪنداسين جيڪو tun ڊوائيسز جي شروعات جي درخواست ڪري ٿو.

localhost:~# ssh -v -w any root@remoteserver

اسان کي ھاڻي ٽيون ڊيوائس ھجڻ گھرجي جڏھن انٽرفيس ڏيکاريو (# ip a). ايندڙ قدم سرنگ انٽرفيس ۾ IP پتي شامل ڪندو.

SSH ڪلائنٽ طرف:

localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up

SSH سرور طرف:

remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up

ھاڻي اسان وٽ سڌو رستو آھي ٻئي ميزبان ڏانھن (route -n и ping 10.10.10.10).

توھان ٻئي طرف ھڪڙي ميزبان جي ذريعي ڪنھن ذيلي نيٽ کي روٽ ڪري سگھو ٿا.

localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0

ريموٽ پاسي تي توهان کي فعال ڪرڻ گهرجي ip_forward и iptables.

remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE

بوم! وي پي اين نيٽ ورڪ پرت 3 تي SSH سرنگ مٿان. هاڻي اها فتح آهي.

جيڪڏهن ڪو مسئلو آهي، استعمال ڪريو ٽي سي پيمپ и 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. Remote Packet Capture and viewing Wireshark ۾

مون اسان مان هڪ ورتو tcpdump مثال. ان کي استعمال ڪريو ريموٽ پيڪيٽس کي پڪڙڻ لاءِ ۽ نتيجن کي سڌو سنئون مقامي Wireshark GUI ۾ ڏيکاريو.

:~$ 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. ريموٽ GUI ايپليڪيشنون SSH X11 فارورڊنگ سان

جيڪڏهن X ڪلائنٽ ۽ ريموٽ سرور تي انسٽال ٿيل آهي، ته پوءِ توهان پنهنجي مقامي ڊيسڪ ٽاپ تي ونڊو سان هڪ GUI ڪمانڊ ريموٽ طور تي عمل ڪري سگهو ٿا. هي خصوصيت هڪ ڊگهي وقت تائين آهي، پر اڃا تائين تمام مفيد آهي. هڪ ريموٽ ويب برائوزر لانچ ڪريو يا جيتوڻيڪ VMWawre ورڪ اسٽيشن ڪنسول جيئن مان هن مثال ۾ ڪريان ٿو.

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. Tor نيٽ ورڪ تي SSH

گمنام Tor نيٽ ورڪ ڪمانڊ استعمال ڪندي SSH ٽرئفڪ کي سرنگ ڪري سگھي ٿو torsocks. هيٺ ڏنل حڪم ssh پراکسي کي Tor ذريعي منتقل ڪندو.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

ٽوڙ پراکسي لاءِ مقامي هوسٽ تي پورٽ 9050 استعمال ڪندو. هميشه وانگر، جڏهن Tor استعمال ڪري رهيا آهيو توهان کي سنجيدگي سان جانچڻ جي ضرورت آهي ته ڪهڙي ٽرئفڪ سرنگ ٿي رهي آهي ۽ ٻيا آپريشنل سيڪيورٽي (opsec) مسئلا. توهان جا DNS سوال ڪيڏانهن وڃن ٿا؟

14. SSH کان EC2 مثال

EC2 مثال سان ڳنڍڻ لاء، توهان کي هڪ خانگي چيڪ جي ضرورت آهي. ان کي ڊائون لوڊ ڪريو (. پي ايم ايڪسٽينشن) 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 اي سي 2 ميزبان سان ڳنڍڻ دوران ڪيئي استعمال کي خودڪار طور تي ترتيب ڏيڻ لاءِ مثالي.

Host my-ec2-public
   Hostname ec2???.compute-1.amazonaws.com
   User ubuntu
   IdentityFile ~/.ssh/my-ec2-key.pem

15. ssh/scp ذريعي VIM استعمال ڪندي ٽيڪسٽ فائلن کي ايڊٽ ڪرڻ

سڀني عاشقن لاءِ 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

Ubuntu ۽ Debian تي پيڪيج انسٽال ڪريو sshfs، ۽ پوءِ آسانيءَ سان اسان جي سسٽم تي ريموٽ مقام کي نصب ڪريو.

localhost:~$ sshfs user@remoteserver:/media/data ~/data/

17. ControlPath سان SSH ملائيپليڪسنگ

ڊفالٽ طور، جيڪڏهن ڪو موجود آهي ڪنيڪشن هڪ ريموٽ سرور استعمال ڪندي 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. VLC ۽ SFTP استعمال ڪندي SSH مٿان وڊيو اسٽريم ڪريو

جيتوڻيڪ ڊگھي وقت استعمال ڪندڙ ssh и vlc (ويڊيو لين ڪلائنٽ) هميشه هن آسان اختيار کان واقف نه آهن جڏهن توهان واقعي نيٽ ورڪ تي هڪ وڊيو ڏسڻ جي ضرورت آهي. سيٽنگون ۾ فائل | اوپن نيٽورڪ اسٽريم پروگرام vlc توھان جڳھ داخل ڪري سگھو ٿا جيئن sftp://. جيڪڏهن پاسورڊ گهربل آهي، هڪ ترت ظاهر ٿيندو.

sftp://remoteserver//media/uploads/myvideo.mkv

19. ٻه عنصر جي تصديق

ساڳئي ٻه عنصر جي تصديق توهان جي بئنڪ اڪائونٽ يا گوگل اڪائونٽ جي طور تي SSH سروس تي لاڳو ٿئي ٿي.

يقينن، ssh شروعاتي طور تي هڪ ٻه عنصر جي تصديق واري فنڪشن آهي، جنهن جو مطلب آهي پاسورڊ ۽ هڪ SSH چيڪ. هارڊويئر ٽوڪن يا Google Authenticator ايپ جو فائدو اهو آهي ته اهو عام طور تي هڪ مختلف جسماني ڊوائيس آهي.

اسان جي 8 منٽ گائيڊ ڏسو Google Authenticator ۽ SSH استعمال ڪندي.

20. جمپنگ هوسٽس سان ssh ۽ -J

جيڪڏهن نيٽ ورڪ ورهائڻ جو مطلب آهي ته توهان کي ڪيترن ئي ssh ميزبانن مان وڃڻو پوندو فائنل منزل نيٽ ورڪ تي وڃڻ لاءِ، -J شارٽ ڪٽ توهان جو وقت بچائيندو.

localhost:~$ ssh -J host1,host2,host3 [email protected]

هتي سمجھڻ جي مکيه شيء اها آهي ته اهو ساڳيو حڪم نه آهي ssh host1پوءِ user@host1:~$ ssh host2 وغيره. -J آپشن چالاڪي سان فارورڊنگ استعمال ڪري ٿو لوڪل ھوسٽ کي زنجير ۾ ايندڙ ھوسٽ سان سيشن قائم ڪرڻ لاءِ. تنهن ڪري مٿين مثال ۾، اسان جو مقامي هوسٽ host4 ڏانهن تصديق ٿيل آهي. اھو آھي، اسان جون لوڪل ھوسٽ ڪيز استعمال ڪيون وينديون آھن، ۽ سيشن لوکل ھوسٽ کان ھوسٽ 4 تائين مڪمل طور تي انڪريپٹ ٿيل آھي.

اهڙي امڪان لاءِ ssh_config ترتيب ڏيڻ جا اختيار بيان ڪريو پراڪسي جمپ. جيڪڏهن توهان کي باقاعدي طور تي ڪيترن ئي ميزبانن جي ذريعي وڃڻو پوندو، پوء ترتيب ذريعي خودڪار طريقي سان گهڻو وقت بچائيندو.

21. iptables استعمال ڪندي SSH برٽ فورس جي ڪوشش کي بلاڪ ڪريو

ڪو به ماڻهو جنهن هڪ SSH سروس کي منظم ڪيو آهي ۽ لاگ ان کي ڏٺو آهي ان جي باري ۾ ڄاڻي ٿو ته هر ڏينهن جي هر ڪلاڪ ۾ ٿيندڙ وحشي قوت جي ڪوششن جي تعداد بابت. لاگن ۾ شور کي گھٽائڻ جو تڪڙو طريقو SSH کي غير معياري بندرگاھ ڏانھن منتقل ڪرڻ آھي. فائل ۾ تبديليون ڪريو sshd_config ترتيب واري پيٽرولر ذريعي پورٽ##.

جي مدد سان iptables توهان آساني سان هڪ خاص حد تائين پهچڻ تي بندرگاهن سان ڳنڍڻ جي ڪوشش کي بلاڪ ڪري سگهو ٿا. اهو ڪرڻ جو هڪ آسان طريقو استعمال ڪرڻ آهي او ايس سي سي, ڇاڪاڻ ته اهو نه رڳو SSH کي بلاڪ ڪري ٿو، پر ٻين ميزبان جي نالي تي ٻڌل مداخلت ڳولڻ (HIDS) قدمن جو هڪ گروپ آهي.

22. پورٽ فارورڊنگ کي تبديل ڪرڻ لاءِ SSH Escape

۽ اسان جو آخري مثال ssh ھڪڙي موجوده سيشن ۾ اڏام تي پورٽ فارورڊنگ کي تبديل ڪرڻ لاءِ ٺاھيو ويو ssh. هن منظر جو تصور ڪريو. توھان نيٽ ورڪ ۾ گھيرو آھيو؛ ٿي سگهي ٿو اڌ درجن کان مٿي ميزبانن کي هٽايو هجي ۽ ورڪ اسٽيشن تي هڪ مقامي بندرگاهه جي ضرورت هجي جيڪا Microsoft SMB جي پراڻي ونڊوز 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 کي ونڊوز 2003 ميزبان ڏانهن موڪليو آهي جيڪو اسان اندروني نيٽ ورڪ تي مليو. هاڻي بس هل msfconsole، ۽ توهان اڳتي وڌي سگهو ٿا (فرض ڪيو ته توهان هن ميزبان کي استعمال ڪرڻ جو ارادو ڪيو).

چڪاس

اهي مثال، ٽوٽڪا ۽ حڪم ssh هڪ شروعاتي نقطو ڏيڻ گهرجي؛ هر هڪ حڪمن ۽ صلاحيتن جي باري ۾ وڌيڪ معلومات انسان جي صفحن تي موجود آهي (man ssh, man ssh_config, man sshd_config).

مان هميشه دنيا ۾ ڪٿي به سسٽم تائين رسائي ۽ حڪمن تي عمل ڪرڻ جي صلاحيت کان متاثر ٿي چڪو آهيان. جهڙوڪ اوزارن سان توهان جي صلاحيتن کي ترقي ڪندي ssh توهان ڪنهن به راند ۾ وڌيڪ اثرائتو ٿي ويندا آهيو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو