Praktik məsləhətlər, nümunələr və SSH tunelləri

Praktik məsləhətlər, nümunələr və SSH tunelləri
Praktik nümunələr SSHbu, uzaq sistem administratoru kimi bacarıqlarınızı yeni səviyyəyə qaldıracaq. Əmrlər və məsləhətlər yalnız istifadə etməyə kömək edəcək SSH, həm də şəbəkədə daha ağıllı naviqasiya edin.

Bir neçə hiylə bilmək ssh istənilən sistem administratoru, şəbəkə mühəndisi və ya təhlükəsizlik mütəxəssisi üçün faydalıdır.

Praktik SSH Nümunələri

  1. SSH corab proxy
  2. SSH tuneli (port yönləndirmə)
  3. Üçüncü hosta SSH tuneli
  4. Əks SSH tuneli
  5. SSH Əks Proksi
  6. SSH üzərindən VPN quraşdırılması
  7. SSH açarını kopyalayın (ssh-copy-id)
  8. Uzaqdan əmr icrası (interaktiv deyil)
  9. Wireshark ilə uzaqdan paket tutma və görüntüləmə
  10. Yerli qovluğun SSH vasitəsilə uzaq serverə kopyalanması
  11. SSH X11 Forwarding ilə Uzaqdan GUI Proqramları
  12. Rsync və SSH ilə uzaqdan fayl kopyalama
  13. Tor şəbəkəsi üzərindən SSH
  14. SSH-dən EC2 nümunəsinə
  15. VIM ilə ssh/scp vasitəsilə mətn fayllarının redaktə edilməsi
  16. Uzaqdan SSH-nin SSHFS ilə yerli qovluq kimi quraşdırılması
  17. ControlPath ilə SSH-nin çoxaldılması
  18. VLC və SFTP ilə SSH üzərindən video yayımlayın
  19. İki faktorlu identifikasiya
  20. SSH və -J ilə atılan host
  21. iptables ilə SSH brute force cəhdlərinin bloklanması
  22. Port yönləndirməsini dəyişdirmək üçün SSH Escape

Əvvəlcə əsaslar

SSH Komanda xəttinin təhlili

Aşağıdakı nümunə uzaq serverə qoşulduqda tez-tez rast gəlinən adi seçimlərdən istifadə edir SSH.

localhost:~$ ssh -v -p 22 -C neo@remoteserver

  • -v: Sazlama çıxışı autentifikasiya problemlərini təhlil edərkən xüsusilə faydalıdır. Əlavə məlumatları göstərmək üçün bir neçə dəfə istifadə edilə bilər.
  • - p 22: əlaqə portu uzaq SSH serverinə. 22-nin göstərilməsinə ehtiyac yoxdur, çünki bu standart dəyərdir, lakin protokol başqa portdadırsa, parametrdən istifadə edərək onu təyin edirik. -p. Dinləmə portu faylda göstərilmişdir sshd_config formatda Port 2222.
  • -C: əlaqə üçün sıxılma. Yavaş bir kanalınız varsa və ya çoxlu mətnə ​​baxırsınızsa, bu əlaqəni sürətləndirə bilər.
  • neo@: @ işarəsindən əvvəlki sətir uzaq serverə autentifikasiya ediləcək istifadəçi adını göstərir. Onu qeyd etməsəniz, o, hazırda daxil olduğunuz hesabın istifadəçi adına uyğun olacaq (~$ whoami). İstifadəçi parametrlə də müəyyən edilə bilər -l.
  • remoteserver: qoşulmaq üçün hostun adı ssh, bu, tam ixtisaslı domen adı, IP ünvanı və ya yerli hostlar faylındakı hər hansı bir host ola bilər. Həm IPv4, həm də IPv6-nı dəstəkləyən hosta qoşulmaq üçün əmr satırı parametrini əlavə edə bilərsiniz -4 və ya -6 düzgün həlli üçün.

Yuxarıda göstərilən parametrlərin hamısı istisna olmaqla, isteğe bağlıdır remoteserver.

Konfiqurasiya faylından istifadə

Baxmayaraq ki, çoxları faylla tanışdır sshd_config, komanda üçün müştəri konfiqurasiya faylı da var ssh. Cari dəyər ~/.ssh/config, lakin o, seçim üçün parametr kimi müəyyən edilə bilər -F.

Host *
     Port 2222

Host remoteserver
     HostName remoteserver.thematrix.io
     User neo
     Port 2112
     IdentityFile /home/test/.ssh/remoteserver.private_key

Yuxarıdakı nümunə ssh konfiqurasiya faylında iki host girişi var. Birincisi bütün hostları göstərir, bütün Port 2222 konfiqurasiya parametri tətbiq edilir, ikincisi isə host üçün deyir uzaq server fərqli istifadəçi adı, port, FQDN və IdentityFile istifadə etməlisiniz.

Konfiqurasiya faylı xüsusi hostlara qoşulduqda qabaqcıl konfiqurasiyanın avtomatik tətbiq edilməsinə imkan verməklə simvolların yazılması vaxtına xeyli qənaət edə bilər.

SCP istifadə edərək SSH üzərindən faylların kopyalanması

SSH müştəri faylları kopyalamaq üçün digər iki çox lazımlı alətlə gəlir şifrəli ssh bağlantısı. Aşağıda scp və sftp əmrlərinin tipik istifadəsinə nümunə verilmişdir. Qeyd edək ki, ssh üçün bir çox seçim bu əmrlərə də aiddir.

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

Bu nümunədə fayl mypic.png -ə köçürdü uzaq server qovluğa /media/data və adını dəyişdirdi mypic_2.png.

Port parametrindəki fərqi unutma. Bu başlamaq edən çox rast gəlmək scp komanda xəttindən. Budur port parametri -P-pssh müştərisində olduğu kimi! Unudacaqsan amma narahat olma hamı unudur.

Konsolla tanış olanlar üçün ftp, bir çox əmrlər oxşardır sftp. Siz edə bilərsiniz basmaq, qoymaq и lsürəyin istədiyi kimi.

sftp neo@remoteserver

Praktik nümunələr

Bu nümunələrin bir çoxunda nəticə müxtəlif üsullarla əldə edilə bilər. Hamımızda olduğu kimi dərsliklər və misallarda, sadəcə olaraq hiylə işlədən praktik nümunələrə üstünlük verilir.

1. SSH corab proxy

SSH Proxy xüsusiyyəti yaxşı bir səbəbdən 1 nömrədir. O, əksər insanların düşündüyündən daha güclüdür və demək olar ki, istənilən proqramdan istifadə edərək uzaq serverin daxil olduğu istənilən sistemə giriş imkanı verir. Bir ssh müştərisi bir sadə əmrlə SOCKS proxy vasitəsilə trafiki tunel edə bilər. Uzaq sistemlərə trafikin veb server qeydlərində göstərildiyi kimi uzaq serverdən gələcəyini başa düşmək vacibdir.

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

Burada biz TCP 8888 portunda corab proksisini işə salırıq, ikinci komanda portun dinləmə rejimində aktiv olduğunu yoxlayır. 127.0.0.1 xidmətin yalnız localhost-da işlədiyini göstərir. Ethernet və ya wifi daxil olmaqla bütün interfeysləri dinləmək üçün bir qədər fərqli əmrdən istifadə edə bilərik, bu, şəbəkəmizdəki digər proqramlara (brauzerlər və s.) ssh corab proksisi vasitəsilə proksi xidmətinə qoşulmağa imkan verəcək.

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

İndi brauzeri corab proxy-sinə qoşulmaq üçün konfiqurasiya edə bilərik. Firefox-da seçin Parametrlər | Əsas | Şəbəkə parametrləri. Qoşulmaq üçün IP ünvanını və portu göstərin.

Praktik məsləhətlər, nümunələr və SSH tunelləri

Formanın altındakı seçimə diqqət yetirin ki, brauzerin DNS sorğuları da SOCKS proxy-dən keçsin. Əgər siz yerli şəbəkənizdə veb trafiki şifrələmək üçün proksi serverdən istifadə edirsinizsə, o zaman yəqin ki, bu seçimi seçmək istəyəcəksiniz ki, DNS sorğuları SSH bağlantısı üzərindən tunellənsin.

Chrome-da corab proksisi aktivləşdirilir

Müəyyən komanda xətti seçimləri ilə Chrome-u işə salmaq corab proksisini, eləcə də brauzerdən DNS sorğularını tunel etməyə imkan verəcək. Güvənin amma yoxlayın. istifadə edin tcpdump DNS sorğularının artıq görünmədiyini yoxlamaq üçün.

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

Proksi ilə digər proqramlardan istifadə

Unutmayın ki, bir çox digər proqramlar da corab proksilərindən istifadə edə bilər. Veb-brauzer onların hamısından ən populyarıdır. Bəzi proqramlarda proxy serveri aktivləşdirmək üçün konfiqurasiya seçimləri var. Digərlərinin köməkçi proqramla bir az köməyə ehtiyacı var. Misal üçün, proxychainlər corab-proxy Microsoft RDP və s. vasitəsilə işləməyə imkan verir.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Corabların proxy konfiqurasiya parametrləri proxychains konfiqurasiya faylında müəyyən edilir.

İpucu: Əgər siz Linux-dan Windows-a qədər uzaq masaüstü kompüterdən istifadə edirsinizsə? Müştərini sınayın PulsuzRDP. Bu daha müasir bir tətbiqdir rdesktop, daha hamar qarşılıqlı əlaqə ilə.

Corab proxy vasitəsilə SSH istifadə etmək üçün seçim

Siz kafedə və ya oteldə oturursunuz və kifayət qədər etibarsız WiFi-dən istifadə etməyə məcbur olursunuz. Laptopdan biz yerli olaraq ssh proksisini işə salırıq və yerli Rasberry Pi-də ev şəbəkəsinə ssh tuneli qururuq. Brauzerdən və ya corab proksisi üçün konfiqurasiya edilmiş digər proqramlardan istifadə edərək biz ev şəbəkəmizdə istənilən şəbəkə xidmətlərinə daxil ola bilərik və ya ev bağlantımız vasitəsilə onlayn ola bilərik. Laptopunuz və ev serveriniz (Wi-Fi və internet vasitəsilə evinizə) arasında hər şey SSH tunelində şifrələnir.

2. SSH tuneli (port yönləndirmə)

Ən sadə formada, bir SSH tuneli sadəcə yerli sisteminizdə tunelin digər ucundakı fərqli bir porta qoşulan bir port açır.

localhost:~$ ssh  -L 9999:127.0.0.1:80 user@remoteserver

Parametri təhlil edək -L. Bunu yerli dinləmə tərəfi kimi də düşünmək olar. Beləliklə, yuxarıdakı nümunədə 9999 portu localhost tərəfində dinləyir və 80 portunda uzaq serverə yönləndirilir. Qeyd edək ki, 127.0.0.1 uzaq serverdəki localhost-a aiddir!

Gəlin pilləkənlərlə qalxaq. Aşağıdakı nümunə dinləmə portlarını yerli şəbəkədəki digər hostlara bağlayır.

localhost:~$ ssh  -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver

Bu nümunələrdə biz veb serverdəki porta qoşuluruq, lakin bu, proxy server və ya hər hansı digər TCP xidməti ola bilər.

3. Üçüncü tərəf hostuna SSH tuneli

Uzaq serverdən üçüncü sistemdə işləyən digər xidmətə tunel etmək üçün eyni seçimlərdən istifadə edə bilərik.

localhost:~$ ssh  -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver

Bu nümunədə biz tuneli uzaq serverdən 10.10.10.10-da işləyən veb serverə yönləndiririk. Uzaq serverdən 10.10.10.10-a qədər trafik artıq SSH tunelində deyil. 10.10.10.10 tarixində veb server uzaq serveri veb sorğuların mənbəyi hesab edəcək.

4. Əks SSH tuneli

Burada biz yerli hostumuzda (və ya digər sistemdə) yerli porta yenidən qoşulacaq uzaq serverdə dinləmə portu quracağıq.

localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver

Bu SSH sessiyası uzaq serverdəki 1999-cu portdan yerli müştərimizin 902-ci portuna əlaqə yaradır.

5. SSH Reverse Proxy

Bu halda, biz ssh bağlantımızda corab proksisini quraşdırırıq, lakin proxy serverin uzaq ucunda dinləyir. Bu uzaq proksi ilə bağlantılar indi yerli hostumuzdan trafik kimi tuneldən çıxır.

localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver

Uzaqdan SSH Tunellərində problemlərin aradan qaldırılması

SSH uzaqdan işləmə seçimlərini əldə etməkdə çətinlik çəkirsinizsə, yoxlayın netstat, dinləmə portunun hansı digər interfeyslərə qoşulduğu. Nümunələrdə 0.0.0.0 göstərsək də, əgər dəyər Gateway Portları в sshd_config təyin edin No., onda dinləyici yalnız localhost-a bağlanacaq (127.0.0.1).

Təhlükəsizlik Xəbərdarlığı

Nəzərə alın ki, tunellər və corab proksiləri açarkən daxili şəbəkə resursları etibarsız şəbəkələr (məsələn, İnternet!) üçün əlçatan ola bilər. Bu, ciddi təhlükəsizlik riski ola bilər, ona görə də dinləyicinin nə olduğunu və onun nəyə çıxışı olduğunu başa düşdüyünüzə əmin olun.

6. SSH üzərindən VPN quraşdırın

Hücum üsulları (pentesters və s.) üzrə mütəxəssislər arasında ümumi termin "şəbəkədə dayaq nöqtəsidir". Bir sistemdə əlaqə qurulduqdan sonra həmin sistem şəbəkəyə əlavə çıxış üçün şlüz olur. Genişlikdə hərəkət etməyə imkan verən dayaq nöqtəsi.

Belə bir dayaq üçün biz bir SSH proxy və istifadə edə bilərik proxychainlər, lakin bəzi məhdudiyyətlər var. Məsələn, rozetkalarla birbaşa işləmək mümkün olmayacaq, ona görə də şəbəkə daxilində portları skan edə bilməyəcəyik. Nmap SYN.

Bu daha təkmil VPN seçimindən istifadə edərək, əlaqə aşağı düşür səviyyə 3. Daha sonra standart şəbəkə marşrutlaşdırmasından istifadə edərək, sadəcə olaraq, tunel vasitəsilə trafiki istiqamətləndirə bilərik.

Metod istifadə edir ssh, iptables, tun interfaces və marşrutlaşdırma.

Əvvəlcə bu parametrləri təyin etməlisiniz sshd_config. Həm uzaqdan, həm də müştəri sistemlərinin interfeyslərində dəyişikliklər etdiyimiz üçün biz hər iki tərəfdən kök icazələri lazımdır.

PermitRootLogin yes
PermitTunnel yes

Sonra tun cihazlarının işə salınmasını tələb edən parametrdən istifadə edərək ssh bağlantısı quracağıq.

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

İndi interfeysləri göstərərkən tun cihazımız olmalıdır (# ip a). Növbəti addım tunel interfeyslərinə IP ünvanlarını əlavə edəcək.

SSH müştəri tərəfi:

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

SSH server tərəfi:

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

İndi başqa hosta birbaşa marşrutumuz var (route -n и ping 10.10.10.10).

İstənilən alt şəbəkəni digər tərəfdən host vasitəsilə yönləndirmək mümkündür.

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

Uzaq tərəfdə aktivləşdirin 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

Partlama! Şəbəkə səviyyəsi 3-də SSH tuneli üzərində VPN. Bu artıq qələbədir.

Hər hansı bir problem varsa, istifadə edin tcpdump и pingsəbəbini müəyyən etmək. 3-cü qatda oynadığımız üçün icmp paketlərimiz bu tuneldən keçəcək.

7. SSH açarını kopyalayın (ssh-copy-id)

Bunun bir neçə yolu var, lakin bu əmr faylları əl ilə kopyalamamaqla vaxta qənaət edir. O, sadəcə olaraq ~/.ssh/id_rsa.pub-u (və ya standart açarı) sisteminizdən kopyalayır ~/.ssh/authorized_keys uzaq serverdə.

localhost:~$ ssh-copy-id user@remoteserver

8. Uzaqdan əmr icrası (interaktiv olmayan)

komanda ssh adi istifadəçi dostu interfeys üçün digər əmrlərlə əlaqələndirilə bilər. Uzaq hostda işlətmək istədiyiniz əmri dırnaq içərisində sonuncu parametr kimi əlavə edin.

localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php

Bu misalda grep log ssh kanalı üzərindən endirildikdən sonra yerli sistemdə icra olunur. Fayl böyükdürsə, onu işə salmaq daha rahatdır grep sadəcə olaraq hər iki əmri cüt dırnaq içərisinə daxil etməklə uzaq tərəfdə.

Başqa bir nümunə eyni funksiyanı yerinə yetirir ssh-copy-id 7-ci misaldan.

localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'

9. Uzaqdan Paket Tutma və Wireshark Görünüşü

Bizdən birini götürdüm tcpdump nümunələri. Paketləri uzaqdan tutmaq və nəticəni birbaşa yerli Wireshark GUI-yə qaytarmaq üçün ondan istifadə edin.

:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -

10. Lokal qovluğun SSH vasitəsilə uzaq serverə kopyalanması

Bir qovluğu sıxışdıran gözəl bir hiylə bzip2 (bu, əmrdəki -j variantıdır tar) və sonra axını gətirir bzip2 digər tərəfdən, uzaq serverdə dublikat qovluq yaratmaq.

localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"

11. SSH X11 yönləndirilməsi ilə uzaqdan GUI proqramları

Əgər həm müştəridə, həm də uzaq serverdə "x" quraşdırılıbsa, siz yerli iş masanızda pəncərə ilə GUI əmrini uzaqdan icra edə bilərsiniz. Bu xüsusiyyət çoxdan mövcuddur, lakin hələ də çox faydalıdır. Bu nümunədə etdiyim kimi uzaq veb brauzeri və ya hətta VMWawre Workstation konsolunu işə salın.

localhost:~$ ssh -X remoteserver vmware

String tələb olunur X11Forwarding yes faylda sshd_config.

12. Rsync və SSH istifadə edərək faylları uzaqdan kopyalayın

rsync çox daha rahatdır scpkataloqun, çoxlu sayda faylın və ya çox böyük faylların dövri ehtiyat nüsxəsinə ehtiyacınız varsa. Köçürmə uğursuzluğunu bərpa etmək və yalnız dəyişdirilmiş faylları köçürmək funksiyası var ki, bu da trafikə və vaxta qənaət edir.

Bu nümunə sıxılmadan istifadə edir gzip (-z) və rekursiv surət çıxarmağa imkan verən arxiv rejimi (-a).

:~$ rsync -az /home/testuser/data remoteserver:backup/

13. Tor şəbəkəsi üzərindən SSH

Anonim Tor şəbəkəsi komanda ilə SSH trafikini tunel edə bilər torsocks. Aşağıdakı komanda Tor vasitəsilə ssh proxy göndərəcək.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsocks proxy üçün localhost-da 9050 portundan istifadə edəcək. Tor istifadə edərkən həmişə olduğu kimi, hansı trafikin tunel edildiyini və digər əməliyyat təhlükəsizliyi (opsec) məsələlərini ciddi şəkildə yoxlamaq lazımdır. DNS sorğularınız hara gedir?

14. SSH-dən EC2 nümunəsinə

EC2 instansiyasına qoşulmaq üçün şəxsi açar tələb olunur. Onu (.pem uzadılması) Amazon EC2 idarəetmə panelindən endirin və icazələri dəyişdirin (chmod 400 my-ec2-ssh-key.pem). Açarı təhlükəsiz yerdə saxlayın və ya qovluğunuza qoyun ~/.ssh/.

localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public

Parametr -i sadəcə olaraq ssh müştərisinə bu açardan istifadə etməyi deyir. Fayl ~/.ssh/config ec2 hostuna qoşulduqda açar istifadəsini avtomatik konfiqurasiya etmək üçün idealdır.

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

15. VIM ilə mətn fayllarını ssh/scp vasitəsilə redaktə edin

Bütün sevənlər üçün vim bu məsləhət sizə bir qədər vaxt qazandıracaq. İstifadə etməklə vim fayllar scp vasitəsilə bir komanda ilə redaktə edilir. Bu üsul sadəcə faylı yerli olaraq yaradır /tmp, və biz onu saxladıqdan sonra onu geri kopyalayır vim.

localhost:~$ vim scp://user@remoteserver//etc/hosts

Qeyd: format adi formatdan bir qədər fərqlidir scp. Ev sahibindən sonra dublumuz var //. Bu mütləq yol istinadıdır. Bir kəsik işarəsi yolun ev qovluğuna nisbətən olduğunu bildirir users.

**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])

Bu səhvi görsəniz, əmr formatını iki dəfə yoxlayın. Bu adətən sintaksis xətası deməkdir.

16. Uzaqdan SSH-ni SSHFS ilə yerli qovluq kimi quraşdırın

Vasitəsilə sshfs - fayl sistemi müştərisi ssh - şifrələnmiş seansda bütün fayl qarşılıqlı əlaqəsi ilə yerli qovluğu uzaq bir yerə quraşdıra bilərik ssh.

localhost:~$ apt install sshfs

Paketi Ubuntu və Debian-a quraşdırın sshfs, və sonra sadəcə uzaq yeri sistemimizə quraşdırın.

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

17. ControlPath ilə SSH-nin çoxaldılması

Varsayılan olaraq, istifadə edərək uzaq bir serverə mövcud bir əlaqə varsa ssh ilə ikinci əlaqə ssh və ya scp əlavə autentifikasiya ilə yeni sessiya yaradır. Seçim ControlPath bütün sonrakı əlaqələr üçün mövcud sessiyadan istifadə etməyə imkan verir. Bu, prosesi əhəmiyyətli dərəcədə sürətləndirəcək: təsir hətta yerli şəbəkədə də nəzərə çarpır və daha çox uzaq resurslara qoşulduqda.

Host remoteserver
        HostName remoteserver.example.org
        ControlMaster auto
        ControlPath ~/.ssh/control/%r@%h:%p
        ControlPersist 10m

ControlPath aktiv sessiyanı yoxlamaq üçün yeni bağlantılar üçün yuvanı təyin edir ssh. Sonuncu seçim o deməkdir ki, hətta konsoldan çıxdıqdan sonra da mövcud sessiya 10 dəqiqə açıq qalacaq, beləliklə, bu müddət ərzində mövcud rozetkaya yenidən qoşula bilərsiniz. Əlavə məlumat üçün köməyə baxın. ssh_config man.

18. VLC və SFTP ilə SSH üzərindən video axını

Hətta uzun müddət istifadəçilər ssh и vlc (Video Lan Client) həmişə şəbəkə üzərindən videoya baxmaq lazım olduqda bu rahat seçim haqqında bilmir. Parametrlərdə fayl | Şəbəkə axınını açın proqramları vlc kimi yeri daxil edə bilərsiniz sftp://. Əgər parol tələb olunarsa, sizdən istəniləcək.

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

19. İki faktorlu autentifikasiya

Bank hesabınız və ya Google hesabınızla eyni iki faktorlu autentifikasiya SSH xidmətinə aiddir.

Əlbəttə ki, ssh əvvəlcə iki faktorlu autentifikasiya funksiyasına malikdir, bu da parol və SSH açarı deməkdir. Aparat nişanının və ya Google Authenticator tətbiqinin üstünlüyü ondan ibarətdir ki, o, adətən fərqli fiziki cihazdır.

8 dəqiqəlik bələdçimizə baxın Google Authenticator və SSH istifadə edərək.

20. ssh və -J ilə tullanan hostlar

Şəbəkə seqmentasiyası son təyinat şəbəkənizə çatmaq üçün çoxlu ssh hostlarından keçməyinizi tələb edirsə, -J qısayolu sizə vaxtınıza qənaət edəcək.

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

Burada əsas şey bunun əmrə bənzəmədiyini başa düşməkdir ssh host1sonra user@host1:~$ ssh host2 və s.. -J seçimi zəncirdəki növbəti host ilə localhost-un sessiya qurması üçün yönləndirmədən ağıllı şəkildə istifadə edir. Beləliklə, yuxarıdakı nümunədə bizim localhost host4-ə autentifikasiya edir. Yəni, bizim localhost açarlarımız istifadə olunur və localhost-dan host4-ə qədər olan sessiya tam şifrələnir.

Belə bir fürsət üçün ssh_config konfiqurasiya seçimini təyin edin ProxyJump. Əgər müntəzəm olaraq bir neçə hostdan keçməlisinizsə, onda konfiqurasiya vasitəsilə avtomatlaşdırma çox vaxta qənaət edəcəkdir.

21. iptables ilə SSH brute force cəhdlərinin bloklanması

SSH xidmətini idarə edən və qeydlərə baxan hər kəs hər gün hər saat baş verən kobud güc cəhdlərinin sayından xəbərdardır. Gündəlik səs-küyü azaltmağın sürətli yolu SSH-ni qeyri-standart porta köçürməkdir. Faylda dəyişikliklər edin sshd_config konfiqurasiya seçimindən istifadə etməklə Port##.

Ilə iptables siz həmçinin müəyyən həddə çatdıqda porta qoşulma cəhdlərini asanlıqla bloklaya bilərsiniz. Bunu etmək üçün asan bir yol istifadə etməkdir OSSEC, çünki o, nəinki SSH-ni bloklayır, həm də digər host adına əsaslanan müdaxilənin aşkarlanması (HIDS) tədbirlərini həyata keçirir.

22. Port Yönləndirməni Dəyişdirmək üçün SSH Escape

Və son nümunəmiz ssh mövcud sessiya daxilində port yönləndirməsini tez dəyişdirmək üçün nəzərdə tutulmuşdur ssh. Belə bir ssenarini təsəvvür edin. Siz şəbəkənin dərinliyindəsiniz; ola bilsin ki, yarım düzən hostdan keçib köhnə Windows 2003 sisteminin Microsoft SMB-yə ötürülən iş stansiyasında yerli port lazımdır (hər kəs ms08-67-ni xatırlayır?).

Klikləmək enter, konsolda yazmağa cəhd edin ~C. Bu, mövcud əlaqəyə dəyişiklik etməyə imkan verən sessiyadan qaçış ardıcıllığıdır.

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.

Burada yerli 1445 portumuzu daxili şəbəkədə tapdığımız Windows 2003 hostuna yönləndirdiyimizi görə bilərsiniz. İndi sadəcə qaç msfconsole, və getməyə hazırsınız (bu hostdan istifadə etməyi planlaşdırdığınızı nəzərə alsaq).

Tamamlama

Bu nümunələr, məsləhətlər və əmrlər ssh başlanğıc nöqtəsi verməlidir; Hər bir əmr və funksiya haqqında əlavə məlumat man səhifələrində mövcuddur (man ssh, man ssh_config, man sshd_config).

Dünyanın istənilən yerində sistemlərə daxil olmaq və əmrləri yerinə yetirmək bacarığı məni həmişə valeh etmişdi. kimi alətlərlə bacarıqlarınızı inkişaf etdirin ssh oynadığınız hər hansı oyunda daha səmərəli olacaqsınız.

Mənbə: www.habr.com

Добавить комментарий