Petua praktikal, contoh dan terowong SSH

Petua praktikal, contoh dan terowong SSH
Contoh praktikal SSH, yang akan membawa kemahiran anda sebagai pentadbir sistem jauh ke tahap yang baharu. Perintah dan petua akan membantu bukan sahaja untuk digunakan SSH, tetapi juga menavigasi rangkaian dengan lebih cekap.

Mengetahui beberapa helah ssh berguna kepada mana-mana pentadbir sistem, jurutera rangkaian atau pakar keselamatan.

Contoh SSH Praktikal

  1. Proksi stokin SSH
  2. Terowong SSH (port forwarding)
  3. Terowong SSH ke hos ketiga
  4. Terowong SSH terbalik
  5. Proksi terbalik SSH
  6. Memasang VPN melalui SSH
  7. Menyalin kunci SSH (ssh-copy-id)
  8. Pelaksanaan arahan jauh (bukan interaktif)
  9. Tangkapan dan tontonan paket jauh dalam Wireshark
  10. Menyalin folder tempatan ke pelayan jauh melalui SSH
  11. Aplikasi GUI Jauh dengan SSH X11 Forwarding
  12. Penyalinan fail jauh menggunakan rsync dan SSH
  13. SSH melalui rangkaian Tor
  14. Contoh SSH ke EC2
  15. Mengedit fail teks menggunakan VIM melalui ssh/scp
  16. Lekapkan SSH jauh sebagai folder tempatan dengan SSHFS
  17. Memultiplekskan SSH dengan ControlPath
  18. Strim video melalui SSH menggunakan VLC dan SFTP
  19. Pengesahan dua faktor
  20. Melompat hos dengan SSH dan -J
  21. Menyekat percubaan kekerasan SSH menggunakan iptables
  22. SSH Escape untuk menukar pemajuan port

Mula-mula asas

Menghuraikan baris arahan SSH

Contoh berikut menggunakan parameter biasa yang sering ditemui semasa menyambung ke pelayan jauh SSH.

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

  • -v: Output penyahpepijatan amat berguna apabila menganalisis masalah pengesahan. Boleh digunakan beberapa kali untuk memaparkan maklumat tambahan.
  • - p 22: port sambungan ke pelayan SSH jauh. 22 tidak perlu ditentukan, kerana ini adalah nilai lalai, tetapi jika protokol berada pada beberapa port lain, maka kami menentukannya menggunakan parameter -p. Port pendengaran ditentukan dalam fail sshd_config dalam format Port 2222.
  • -C: Mampatan untuk sambungan. Jika anda mempunyai sambungan yang perlahan atau melihat banyak teks, ini boleh mempercepatkan sambungan.
  • neo@: Baris sebelum simbol @ menunjukkan nama pengguna untuk pengesahan pada pelayan jauh. Jika anda tidak menyatakannya, ia akan lalai kepada nama pengguna akaun yang sedang anda log masuk (~$whoami). Pengguna juga boleh ditentukan menggunakan parameter -l.
  • remoteserver: nama hos untuk disambungkan ssh, ini boleh menjadi nama domain yang layak sepenuhnya, alamat IP atau mana-mana hos dalam fail hos tempatan. Untuk menyambung kepada hos yang menyokong IPv4 dan IPv6, anda boleh menambah parameter pada baris arahan -4 atau -6 untuk resolusi yang betul.

Semua parameter di atas adalah pilihan kecuali remoteserver.

Menggunakan fail konfigurasi

Walaupun ramai yang biasa dengan fail tersebut sshd_config, terdapat juga fail konfigurasi klien untuk arahan itu ssh. Nilai asal ~/.ssh/config, tetapi ia boleh ditakrifkan sebagai parameter untuk pilihan -F.

Host *
     Port 2222

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

Terdapat dua entri hos dalam contoh fail konfigurasi ssh di atas. Yang pertama bermaksud semua hos, semuanya menggunakan parameter konfigurasi Port 2222. Yang kedua mengatakan bahawa untuk hos pelayan jauh nama pengguna, port, FQDN dan IdentityFile yang berbeza harus digunakan.

Fail konfigurasi boleh menjimatkan banyak masa menaip dengan membenarkan konfigurasi lanjutan digunakan secara automatik apabila menyambung ke hos tertentu.

Menyalin fail melalui SSH menggunakan SCP

Pelanggan SSH dilengkapi dengan dua alat lain yang sangat berguna untuk menyalin fail sambungan ssh yang disulitkan. Lihat di bawah untuk contoh penggunaan standard arahan scp dan sftp. Ambil perhatian bahawa banyak pilihan ssh digunakan untuk arahan ini juga.

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

Dalam contoh ini fail mypic.png disalin ke pelayan jauh ke folder /media/data dan dinamakan semula kepada mypic_2.png.

Jangan lupa tentang perbezaan dalam parameter port. Di sinilah ramai orang terperangkap apabila mereka melancarkan scp daripada baris arahan. Inilah parameter port -PDan tidak -p, sama seperti dalam klien ssh! Anda akan lupa, tetapi jangan risau, semua orang lupa.

Bagi mereka yang biasa dengan konsol ftp, banyak arahan serupa dalam sftp... Anda boleh lakukan menolak, meletakkan ΠΈ lsseperti yang diingini oleh hati.

sftp neo@remoteserver

Contoh praktikal

Dalam kebanyakan contoh ini, keputusan boleh dicapai menggunakan kaedah yang berbeza. Seperti dalam semua kami buku teks dan contoh, keutamaan diberikan kepada contoh praktikal yang hanya menjalankan tugas mereka.

1. Proksi stokin SSH

Ciri Proksi SSH adalah nombor 1 untuk alasan yang baik. Ia lebih berkuasa daripada yang diketahui ramai dan memberi anda akses kepada mana-mana sistem yang boleh diakses oleh pelayan jauh, menggunakan hampir mana-mana aplikasi. Pelanggan ssh boleh menyalurkan trafik melalui proksi SOCKS dengan satu arahan mudah. Adalah penting untuk memahami bahawa trafik ke sistem jauh akan datang dari pelayan jauh, ini akan ditunjukkan dalam log pelayan web.

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

Di sini kami menjalankan proksi stokin pada port TCP 8888, arahan kedua menyemak bahawa port aktif dalam mod mendengar. 127.0.0.1 menunjukkan bahawa perkhidmatan hanya berjalan pada localhost. Kami boleh menggunakan arahan yang sedikit berbeza untuk mendengar pada semua antara muka, termasuk ethernet atau wifi, ini akan membenarkan aplikasi lain (penyemak imbas, dll.) pada rangkaian kami untuk menyambung ke perkhidmatan proksi melalui proksi stokin ssh.

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

Sekarang kita boleh mengkonfigurasi penyemak imbas untuk menyambung ke proksi stokin. Dalam Firefox, pilih Tetapan | Asas | Tetapan rangkaian. Tentukan alamat IP dan port untuk disambungkan.

Petua praktikal, contoh dan terowong SSH

Sila ambil perhatian pilihan di bahagian bawah borang untuk meminta permintaan DNS penyemak imbas anda juga melalui proksi SOCKS. Jika anda menggunakan pelayan proksi untuk menyulitkan trafik web pada rangkaian tempatan anda, anda mungkin mahu memilih pilihan ini supaya permintaan DNS disalurkan melalui sambungan SSH.

Mengaktifkan proksi stokin dalam Chrome

Melancarkan Chrome dengan parameter baris arahan tertentu akan mendayakan proksi stokin, serta menyelaraskan permintaan DNS daripada penyemak imbas. Percaya tetapi semak. guna tcpdump untuk menyemak bahawa pertanyaan DNS tidak lagi kelihatan.

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

Menggunakan aplikasi lain dengan proksi

Perlu diingat bahawa banyak aplikasi lain juga mungkin menggunakan proksi stokin. Penyemak imbas web adalah yang paling popular dari semuanya. Sesetengah aplikasi mempunyai pilihan konfigurasi untuk mendayakan pelayan proksi. Yang lain memerlukan sedikit bantuan dengan program pembantu. Sebagai contoh, rantaian proksi membolehkan anda menjalankan proksi stoking Microsoft RDP, dsb.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Parameter konfigurasi proksi stoking ditetapkan dalam fail konfigurasi rantai proksi.

Petunjuk: jika anda menggunakan desktop jauh dari Linux pada Windows? Cuba klien FreeRDP. Ini adalah pelaksanaan yang lebih moden daripada rdesktop, dengan pengalaman yang lebih lancar.

Pilihan untuk menggunakan SSH melalui proksi stokin

Anda sedang duduk di kafe atau hotel - dan terpaksa menggunakan WiFi yang agak tidak boleh dipercayai. Kami melancarkan proksi ssh secara tempatan daripada komputer riba dan memasang terowong ssh ke dalam rangkaian rumah pada Rasberry Pi tempatan. Menggunakan penyemak imbas atau aplikasi lain yang dikonfigurasikan untuk proksi stokin, kami boleh mengakses sebarang perkhidmatan rangkaian pada rangkaian rumah kami atau mengakses Internet melalui sambungan rumah kami. Segala-galanya antara komputer riba dan pelayan rumah anda (melalui Wi-Fi dan internet ke rumah anda) disulitkan dalam terowong SSH.

2. Terowong SSH (port forwarding)

Dalam bentuk yang paling mudah, terowong SSH hanya membuka port pada sistem tempatan anda yang bersambung ke port lain di hujung terowong yang lain.

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

Mari lihat parameter -L. Ia boleh dianggap sebagai bahagian mendengar tempatan. Jadi dalam contoh di atas, port 9999 sedang mendengar di sebelah localhost dan dimajukan melalui port 80 ke pelayan jauh. Sila ambil perhatian bahawa 127.0.0.1 merujuk kepada localhost pada pelayan jauh!

Jom naik tangga. Contoh berikut menyampaikan port pendengaran dengan hos lain pada rangkaian tempatan.

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

Dalam contoh ini kami menyambung ke port pada pelayan web, tetapi ini boleh menjadi pelayan proksi atau mana-mana perkhidmatan TCP lain.

3. Terowong SSH ke hos pihak ketiga

Kita boleh menggunakan parameter yang sama untuk menyambungkan terowong dari pelayan jauh ke perkhidmatan lain yang dijalankan pada sistem ketiga.

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

Dalam contoh ini, kami mengubah hala terowong dari pelayan jauh ke pelayan web yang berjalan pada 10.10.10.10. Trafik dari pelayan jauh ke 10.10.10.10 tiada lagi dalam terowong SSH. Pelayan web pada 10.10.10.10 akan menganggap pelayan jauh sebagai sumber permintaan web.

4. Terowong SSH terbalik

Di sini kami akan mengkonfigurasi port mendengar pada pelayan jauh yang akan menyambung kembali ke port tempatan pada localhost kami (atau sistem lain).

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

Sesi SSH ini mewujudkan sambungan dari port 1999 pada pelayan jauh ke port 902 pada pelanggan tempatan kami.

5. Proksi Songsang SSH

Dalam kes ini, kami menyediakan proksi stokin pada sambungan ssh kami, tetapi proksi sedang mendengar pada hujung jauh pelayan. Sambungan kepada proksi jauh ini kini muncul dari terowong sebagai trafik daripada localhost kami.

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

Menyelesaikan masalah dengan terowong SSH jauh

Jika anda menghadapi masalah dengan pilihan SSH jauh berfungsi, semak dengan netstat, apakah antara muka lain yang disambungkan ke port pendengaran. Walaupun kami menunjukkan 0.0.0.0 dalam contoh, tetapi jika nilai GatewayPorts Π² sshd_config ditetapkan untuk tidak, maka pendengar akan terikat hanya kepada localhost (127.0.0.1).

Amaran keselamatan

Sila ambil perhatian bahawa dengan membuka proksi terowong dan stokin, sumber rangkaian dalaman mungkin boleh diakses oleh rangkaian yang tidak dipercayai (seperti Internet!). Ini boleh menjadi risiko keselamatan yang serius, jadi pastikan anda memahami maksud pendengar dan apa yang mereka boleh akses.

6. Memasang VPN melalui SSH

Istilah biasa di kalangan pakar dalam kaedah serangan (pentesters, dll.) ialah "tumpu dalam rangkaian." Sebaik sahaja sambungan diwujudkan pada satu sistem, sistem itu menjadi pintu masuk untuk akses selanjutnya ke rangkaian. Titik tumpu yang membolehkan anda bergerak secara meluas.

Untuk kedudukan sedemikian, kita boleh menggunakan proksi SSH dan rantaian proksi, namun terdapat beberapa batasan. Sebagai contoh, ia tidak akan dapat berfungsi secara langsung dengan soket, jadi kami tidak akan dapat mengimbas port dalam rangkaian melalui Nmap SYN.

Menggunakan pilihan VPN yang lebih maju ini, sambungan dikurangkan kepada tingkatan 3. Kami kemudiannya boleh mengarahkan trafik melalui terowong menggunakan penghalaan rangkaian standard.

Kaedah menggunakan ssh, iptables, tun interfaces dan penghalaan.

Mula-mula anda perlu menetapkan parameter ini sshd_config. Memandangkan kami membuat perubahan pada antara muka kedua-dua sistem jauh dan pelanggan, kami memerlukan hak akar di kedua-dua belah pihak.

PermitRootLogin yes
PermitTunnel yes

Kemudian kami akan mewujudkan sambungan ssh menggunakan parameter yang meminta permulaan peranti tun.

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

Kita kini sepatutnya mempunyai peranti tun apabila menunjukkan antara muka (# ip a). Langkah seterusnya akan menambah alamat IP pada antara muka terowong.

Bahagian pelanggan SSH:

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

Bahagian Pelayan SSH:

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

Sekarang kita mempunyai laluan terus ke hos lain (route -n ΠΈ ping 10.10.10.10).

Anda boleh mengarahkan mana-mana subnet melalui hos di sisi lain.

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

Di bahagian jauh anda mesti mendayakan 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

Boom! VPN melalui terowong SSH pada lapisan rangkaian 3. Sekarang itulah kemenangan.

Jika berlaku sebarang masalah, gunakan tcpdump ΠΈ pinguntuk menentukan punca. Oleh kerana kami bermain di lapisan 3, paket icmp kami akan melalui terowong ini.

7. Salin kekunci SSH (ssh-copy-id)

Terdapat beberapa cara untuk melakukan ini, tetapi arahan ini menjimatkan masa dengan tidak menyalin fail secara manual. Ia hanya menyalin ~/.ssh/id_rsa.pub (atau kekunci lalai) daripada sistem anda ke ~/.ssh/authorized_keys pada pelayan jauh.

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

8. Pelaksanaan arahan jauh (bukan interaktif)

pasukan ssh Boleh dipautkan kepada arahan lain untuk antara muka yang sama dan mesra pengguna. Cuma tambahkan arahan yang anda mahu jalankan pada hos jauh sebagai parameter terakhir dalam petikan.

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

Dalam contoh ini grep dilaksanakan pada sistem tempatan selepas log telah dimuat turun melalui saluran ssh. Jika fail itu besar, ia lebih mudah untuk dijalankan grep di bahagian jauh dengan hanya melampirkan kedua-dua arahan dalam petikan berganda.

Contoh lain menjalankan fungsi yang sama seperti ssh-copy-id daripada contoh 7.

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

9. Tangkapan dan tontonan paket jauh dalam Wireshark

Saya mengambil salah satu daripada kami contoh tcpdump. Gunakannya untuk menangkap paket dari jauh dan memaparkan hasilnya terus dalam GUI Wireshark tempatan.

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

10. Menyalin folder tempatan ke pelayan jauh melalui SSH

Helah bagus yang memampatkan folder menggunakan bzip2 (ini ialah pilihan -j dalam arahan tar), dan kemudian mendapatkan semula strim bzip2 di sisi lain, mencipta folder pendua pada pelayan jauh.

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

11. Aplikasi GUI Jauh dengan SSH X11 Forwarding

Jika X dipasang pada klien dan pelayan jauh, maka anda boleh melaksanakan perintah GUI dari jauh dengan tetingkap pada desktop tempatan anda. Ciri ini telah wujud sejak sekian lama, tetapi masih sangat berguna. Lancarkan pelayar web jauh atau pun konsol VMWawre Workstation seperti yang saya lakukan dalam contoh ini.

localhost:~$ ssh -X remoteserver vmware

Rentetan yang diperlukan X11Forwarding yes dalam fail sshd_config.

12. Penyalinan fail jauh menggunakan rsync dan SSH

rsync jauh lebih selesa scp, jika anda memerlukan sandaran berkala bagi direktori, sejumlah besar fail atau fail yang sangat besar. Terdapat fungsi untuk memulihkan daripada kegagalan pemindahan dan menyalin hanya fail yang diubah, yang menjimatkan trafik dan masa.

Contoh ini menggunakan pemampatan gzip (-z) dan mod pengarkiban (-a), yang membolehkan penyalinan rekursif.

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

13. SSH melalui rangkaian Tor

Rangkaian Tor tanpa nama boleh menyalurkan trafik SSH menggunakan arahan torsocks. Perintah berikut akan menghantar proksi ssh melalui Tor.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsocks akan menggunakan port 9050 pada localhost untuk proksi. Seperti biasa, apabila menggunakan Tor anda perlu menyemak dengan serius trafik yang sedang disalurkan dan isu keselamatan operasi (opsec) yang lain. Ke manakah perginya pertanyaan DNS anda?

14. Contoh SSH kepada EC2

Untuk menyambung ke tika EC2, anda memerlukan kunci peribadi. Muat turunnya (sambungan .pem) daripada panel kawalan Amazon EC2 dan tukar kebenaran (chmod 400 my-ec2-ssh-key.pem). Simpan kunci di tempat yang selamat atau letakkan dalam folder anda sendiri ~/.ssh/.

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

Parameter -i hanya memberitahu pelanggan ssh untuk menggunakan kunci ini. Fail ~/.ssh/config Ideal untuk mengkonfigurasi penggunaan kunci secara automatik apabila menyambung ke hos ec2.

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

15. Mengedit fail teks menggunakan VIM melalui ssh/scp

Untuk semua kekasih vim Petua ini akan menjimatkan sedikit masa. Dengan menggunakan vim fail disunting melalui scp dengan satu arahan. Kaedah ini hanya mencipta fail secara setempat dalam /tmpdan kemudian menyalinnya semula setelah kami menyimpannya vim.

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

Nota: formatnya berbeza sedikit daripada biasa scp. Selepas tuan rumah kita mempunyai dua kali ganda //. Ini adalah rujukan laluan mutlak. Satu garis miring akan menunjukkan laluan yang berkaitan dengan folder rumah anda users.

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

Jika anda melihat ralat ini, semak semula format arahan. Ini biasanya bermaksud ralat sintaks.

16. Memasang SSH jauh sebagai folder tempatan dengan SSHFS

Dengan cara sshfs - klien sistem fail ssh - kami boleh menyambungkan direktori tempatan ke lokasi terpencil dengan semua interaksi fail dalam sesi yang disulitkan ssh.

localhost:~$ apt install sshfs

Pasang pakej pada Ubuntu dan Debian sshfs, dan kemudian hanya lekapkan lokasi terpencil pada sistem kami.

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

17. SSH Multiplexing dengan ControlPath

Secara lalai, jika terdapat sambungan sedia ada ke pelayan jauh menggunakan ssh sambungan kedua menggunakan ssh atau scp mewujudkan sesi baharu dengan pengesahan tambahan. Pilihan ControlPath membenarkan sesi sedia ada digunakan untuk semua sambungan seterusnya. Ini akan mempercepatkan proses dengan ketara: kesannya dapat dilihat walaupun pada rangkaian tempatan, dan lebih-lebih lagi apabila menyambung ke sumber jauh.

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

ControlPath menentukan soket untuk menyemak sambungan baharu untuk melihat sama ada terdapat sesi aktif ssh. Pilihan terakhir bermakna walaupun selepas anda keluar dari konsol, sesi sedia ada akan kekal terbuka selama 10 minit, jadi pada masa ini anda boleh menyambung semula pada soket sedia ada. Untuk maklumat lanjut, lihat bantuan. ssh_config man.

18. Strim video melalui SSH menggunakan VLC dan SFTP

Malah pengguna lama ssh ΠΈ vlc (Video Lan Klien) tidak sentiasa menyedari pilihan mudah ini apabila anda benar-benar perlu menonton video melalui rangkaian. Dalam tetapan Fail | Buka Strim Rangkaian program vlc anda boleh memasukkan lokasi sebagai sftp://. Jika kata laluan diperlukan, gesaan akan muncul.

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

19. Pengesahan dua faktor

Pengesahan dua faktor yang sama seperti akaun bank atau akaun Google anda digunakan pada perkhidmatan SSH.

Sudah tentu, ssh pada mulanya mempunyai fungsi pengesahan dua faktor, yang bermaksud kata laluan dan kunci SSH. Kelebihan token perkakasan atau apl Google Authenticator ialah ia biasanya peranti fizikal yang berbeza.

Lihat panduan 8 minit kami untuk menggunakan Google Authenticator dan SSH.

20. Melompat hos dengan ssh dan -J

Jika pembahagian rangkaian bermakna anda perlu melompat melalui berbilang hos ssh untuk sampai ke rangkaian destinasi akhir, pintasan -J akan menjimatkan masa anda.

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

Perkara utama yang perlu difahami di sini ialah ini tidak sama dengan arahan ssh host1kemudian user@host1:~$ ssh host2 dsb. Pilihan -J bijak menggunakan pemajuan untuk memaksa localhost membuat sesi dengan hos seterusnya dalam rantaian. Jadi dalam contoh di atas, localhost kami disahkan kepada hos4. Iaitu, kunci localhost kami digunakan, dan sesi dari localhost ke hos4 disulitkan sepenuhnya.

Untuk kemungkinan sedemikian dalam ssh_config tentukan pilihan konfigurasi ProxyJump. Jika anda kerap perlu melalui beberapa hos, maka automasi melalui konfigurasi akan menjimatkan banyak masa.

21. Sekat percubaan kekerasan SSH menggunakan iptables

Sesiapa sahaja yang telah menguruskan perkhidmatan SSH dan melihat log tahu tentang bilangan percubaan kekerasan yang berlaku setiap jam setiap hari. Cara cepat untuk mengurangkan bunyi dalam log adalah dengan memindahkan SSH ke port bukan standard. Buat perubahan pada fail sshd_config melalui parameter konfigurasi Pelabuhan##.

Dengan iptables Anda juga boleh menyekat percubaan untuk menyambung ke port dengan mudah apabila mencapai ambang tertentu. Cara mudah untuk melakukan ini adalah dengan menggunakan OSSEC, kerana ia bukan sahaja menyekat SSH, tetapi melakukan sekumpulan langkah pengesanan pencerobohan berasaskan nama hos (HIDS) lain.

22. SSH Escape untuk menukar penghantaran port

Dan contoh terakhir kami ssh direka untuk menukar pemajuan port dengan cepat dalam sesi sedia ada ssh. Bayangkan senario ini. Anda berada jauh dalam rangkaian; mungkin melompat lebih daripada setengah dozen hos dan memerlukan port tempatan pada stesen kerja yang dimajukan ke Microsoft SMB sistem Windows 2003 lama (sesiapa ingat ms08-67?).

Mengklik enter, cuba masukkan dalam konsol ~C. Ini ialah urutan kawalan sesi yang membolehkan perubahan dibuat pada sambungan sedia ada.

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.

Di sini anda boleh melihat bahawa kami telah memajukan port 1445 tempatan kami kepada hos Windows 2003 yang kami temui pada rangkaian dalaman. Sekarang lari sahaja msfconsole, dan anda boleh meneruskan (dengan andaian anda bercadang untuk menggunakan hos ini).

Siap

Contoh, petua dan arahan ini ssh harus memberi titik permulaan; Maklumat lanjut tentang setiap arahan dan keupayaan tersedia di halaman manual (man ssh, man ssh_config, man sshd_config).

Saya sentiasa terpesona dengan keupayaan untuk mengakses sistem dan melaksanakan arahan di mana-mana sahaja di dunia. Dengan mengembangkan kemahiran anda dengan alatan seperti ssh anda akan menjadi lebih berkesan dalam mana-mana permainan yang anda mainkan.

Sumber: www.habr.com

Tambah komen