Pratik ipuçları, örnekler ve SSH tünelleri

Pratik ipuçları, örnekler ve SSH tünelleri
Pratik örnekler SSHUzak sistem yöneticisi olarak becerilerinizi yeni bir seviyeye taşıyacak. Komutlar ve ipuçları yalnızca kullanıma yardımcı olmayacak SSH, aynı zamanda ağda daha yetkin bir şekilde gezinebilirsiniz.

Birkaç püf noktası bilmek ssh herhangi bir sistem yöneticisi, ağ mühendisi veya güvenlik uzmanı için faydalıdır.

Pratik SSH Örnekleri

  1. SSH çorap proxy'si
  2. SSH tüneli (port yönlendirme)
  3. Üçüncü ana bilgisayara SSH tüneli
  4. Ters SSH tüneli
  5. SSH ters proxy
  6. SSH üzerinden VPN yükleme
  7. SSH anahtarını kopyalama (ssh-copy-id)
  8. Uzaktan komut yürütme (etkileşimli olmayan)
  9. Wireshark'ta uzaktan paket yakalama ve görüntüleme
  10. Yerel bir klasörü SSH aracılığıyla uzak bir sunucuya kopyalama
  11. SSH X11 Yönlendirme ile Uzak GUI Uygulamaları
  12. Rsync ve SSH kullanarak uzaktan dosya kopyalama
  13. Tor ağı üzerinden SSH
  14. SSH'den EC2 örneğine
  15. Metin dosyalarını ssh/scp aracılığıyla VIM kullanarak düzenleme
  16. Uzak SSH'yi SSHFS ile yerel klasör olarak bağlayın
  17. SSH'yi ControlPath ile çoğullama
  18. VLC ve SFTP kullanarak SSH üzerinden video akışı yapın
  19. İki faktörlü kimlik doğrulama
  20. SSH ve -J ile ana bilgisayarları atlama
  21. İptables kullanarak SSH kaba kuvvet girişimlerini engelleme
  22. Bağlantı noktası yönlendirmeyi değiştirmek için SSH Escape

Önce temel bilgiler

SSH komut satırını ayrıştırma

Aşağıdaki örnekte, uzak bir sunucuya bağlanırken sıklıkla karşılaşılan ortak parametreler kullanılmaktadır SSH.

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

  • -v: Hata ayıklama çıktısı özellikle kimlik doğrulama sorunlarını analiz ederken kullanışlıdır. Ek bilgileri görüntülemek için birden çok kez kullanılabilir.
  • - p 22: bağlantı noktası uzak bir SSH sunucusuna. 22'nin belirtilmesine gerek yoktur, çünkü bu varsayılan değerdir, ancak protokol başka bir bağlantı noktasındaysa, o zaman parametreyi kullanarak bunu belirtiriz. -p. Dinleme bağlantı noktası dosyada belirtildi sshd_config biçiminde Port 2222.
  • -C: Bağlantı için sıkıştırma. Bağlantınız yavaşsa veya çok fazla metin görüntülüyorsanız bu, bağlantıyı hızlandırabilir.
  • neo@: @ simgesinden önceki satır, uzak sunucudaki kimlik doğrulama için kullanıcı adını belirtir. Bunu belirtmezseniz, varsayılan olarak halihazırda oturum açmış olduğunuz hesabın kullanıcı adı (~$whoami) kullanılacaktır. Kullanıcı aynı zamanda parametre kullanılarak da belirtilebilir. -l.
  • remoteserver: bağlanılacak ana bilgisayarın adı ssh, bu tam bir etki alanı adı, bir IP adresi veya yerel ana bilgisayarlar dosyasındaki herhangi bir ana bilgisayar olabilir. Hem IPv4 hem de IPv6'yı destekleyen bir ana bilgisayara bağlanmak için parametreyi komut satırına ekleyebilirsiniz. -4 veya -6 uygun çözünürlük için.

Yukarıdaki parametrelerin tümü isteğe bağlıdır, ancak remoteserver.

Yapılandırma dosyasını kullanma

Her ne kadar çoğu kişi dosyaya aşina olsa da sshd_configAyrıca komut için bir istemci yapılandırma dosyası da vardır. ssh. Varsayılan değer ~/.ssh/config, ancak bir seçeneğin parametresi olarak tanımlanabilir -F.

Host *
     Port 2222

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

Yukarıdaki örnek ssh yapılandırma dosyasında iki adet host girişi bulunmaktadır. İlki, tümü Bağlantı Noktası 2222 yapılandırma parametresini kullanan tüm ana bilgisayarlar anlamına gelir. İkincisi, ana bilgisayar için bunu söylüyor uzak sunucu farklı bir kullanıcı adı, port, FQDN ve IdentityFile kullanılmalıdır.

Bir yapılandırma dosyası, belirli ana bilgisayarlara bağlanırken gelişmiş yapılandırmanın otomatik olarak uygulanmasına izin vererek, yazma süresinden büyük ölçüde tasarruf sağlayabilir.

SCP kullanarak dosyaları SSH üzerinden kopyalamak

SSH istemcisi, dosyaları kopyalamak için çok kullanışlı iki araçla birlikte gelir şifreli ssh bağlantısı. Scp ve sftp komutlarının standart kullanımına ilişkin bir örnek için aşağıya bakın. Ssh seçeneklerinin çoğunun bu komutlar için de geçerli olduğunu unutmayın.

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

Bu örnekte dosya mypic.png kopyalandı uzak sunucu klasöre /medya/veri ve olarak yeniden adlandırıldı mypic_2.png.

Port parametresindeki farkı unutmayın. Burası birçok insanın fırlatıldığında yakalandığı yer scp komut satırından. İşte port parametresi -PVe -ptıpkı bir ssh istemcisindeki gibi! Unutacaksın ama merak etme, herkes unutur.

Konsola aşina olanlar için ftpkomutların çoğu benzerdir sftp... Yapabilirsin itmek, koymak и lskalbin istediği gibi.

sftp neo@remoteserver

Pratik örnekler

Bu örneklerin birçoğunda farklı yöntemler kullanılarak sonuçlara ulaşılabilir. Her şeyimizde olduğu gibi ders kitapları ve örneklerde, sadece işini yapan pratik örnekler tercih edilir.

1. SSH çorap proxy'si

SSH Proxy özelliğinin 1 numara olmasının iyi bir nedeni var. Pek çok kişinin sandığından daha güçlüdür ve hemen hemen her uygulamayı kullanarak uzak sunucunun erişebildiği herhangi bir sisteme erişmenizi sağlar. Bir ssh istemcisi, tek bir basit komutla SOCKS proxy'si üzerinden trafiği tünelleyebilir. Uzak sistemlere giden trafiğin uzak bir sunucudan geleceğini anlamak önemlidir; bu, web sunucusu günlüklerinde belirtilecektir.

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 TCP port 8888 üzerinde bir çorap proxy çalıştırıyoruz, ikinci komut portun dinleme modunda aktif olup olmadığını kontrol ediyor. 127.0.0.1, hizmetin yalnızca localhost'ta çalıştığını gösterir. Ethernet veya wifi dahil tüm arayüzlerde dinlemek için biraz farklı bir komut kullanabiliriz, bu, ağımızdaki diğer uygulamaların (tarayıcılar vb.) ssh çorap proxy'si aracılığıyla proxy servisine bağlanmasına olanak sağlayacaktır.

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

Artık tarayıcıyı çorap proxy'sine bağlanacak şekilde yapılandırabiliriz. Firefox'ta şunu seçin: Ayarlar | Temel | Ağ ayarları. Bağlanılacak IP adresini ve bağlantı noktasını belirtin.

Pratik ipuçları, örnekler ve SSH tünelleri

Tarayıcınızın DNS isteklerinin de bir SOCKS proxy üzerinden geçmesini sağlamak için formun alt kısmındaki seçeneğe lütfen dikkat edin. Yerel ağınızdaki web trafiğini şifrelemek için bir proxy sunucu kullanıyorsanız, DNS isteklerinin SSH bağlantısı üzerinden tünellenmesi için muhtemelen bu seçeneği seçmek isteyeceksiniz.

Chrome'da çorap proxy'sini etkinleştirme

Chrome'un belirli komut satırı parametreleriyle başlatılması, çorap proxy'sinin yanı sıra tarayıcıdan gelen DNS isteklerinin tünellenmesini de etkinleştirir. Güven ama kontrol et. Kullanmak tcp dökümü DNS sorgularının artık görünür olmadığını kontrol etmek için.

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

Diğer uygulamaları proxy ile kullanma

Diğer birçok uygulamanın da çorap proxy'leri kullanabileceğini unutmayın. Web tarayıcısı bunların arasında en popüler olanıdır. Bazı uygulamalarda proxy sunucusunu etkinleştirmek için yapılandırma seçenekleri bulunur. Diğerlerinin bir yardımcı program konusunda biraz yardıma ihtiyacı var. Örneğin, vekil zincirleri bir çorap proxy'si Microsoft RDP vb. aracılığıyla çalıştırmanıza olanak tanır.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Socks proxy yapılandırma parametreleri, proxychains yapılandırma dosyasında ayarlanır.

İpucu: Uzak masaüstünü Windows'ta Linux'tan kullanıyorsanız? İstemciyi deneyin ücretsizRDP. Bu daha modern bir uygulamadır. rdesktop, çok daha sorunsuz bir deneyimle.

SSH'yi çorap proxy'si aracılığıyla kullanma seçeneği

Bir kafede veya otelde oturuyorsunuz ve oldukça güvenilmez WiFi kullanmak zorunda kalıyorsunuz. Bir dizüstü bilgisayardan yerel olarak bir ssh proxy başlatıyoruz ve yerel bir Rasberry Pi'deki ev ağına bir ssh tüneli kuruyoruz. Soket proxy'si için yapılandırılmış bir tarayıcı veya diğer uygulamaları kullanarak, ev ağımızdaki herhangi bir ağ hizmetine erişebilir veya ev bağlantımız üzerinden İnternet'e erişebiliriz. Dizüstü bilgisayarınız ile ev sunucunuz arasındaki her şey (Wi-Fi ve internet aracılığıyla evinize) bir SSH tünelinde şifrelenir.

2. SSH tüneli (port yönlendirme)

En basit haliyle SSH tüneli, yerel sisteminizde tünelin diğer ucundaki başka bir bağlantı noktasına bağlanan bir bağlantı noktası açar.

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

Parametreye bakalım -L. Dinlemenin yerel tarafı olarak düşünülebilir. Yukarıdaki örnekte, 9999 numaralı bağlantı noktası localhost tarafını dinliyor ve 80 numaralı bağlantı noktası üzerinden uzak sunucuya iletiliyor. Lütfen 127.0.0.1'in uzak sunucudaki localhost'u ifade ettiğini unutmayın!

Hadi merdivenden yukarı çıkalım. Aşağıdaki örnek, dinleme bağlantı noktalarını yerel ağdaki diğer ana bilgisayarlarla iletişim kurar.

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

Bu örneklerde web sunucusundaki bir bağlantı noktasına bağlanıyoruz ancak bu bir proxy sunucusu veya başka bir TCP hizmeti olabilir.

3. Üçüncü taraf bir ana bilgisayara SSH tüneli

Uzak bir sunucudaki bir tüneli üçüncü bir sistemde çalışan başka bir hizmete bağlamak için aynı parametreleri kullanabiliriz.

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

Bu örnekte, bir tüneli uzak sunucudan 10.10.10.10 üzerinde çalışan bir web sunucusuna yönlendiriyoruz. Uzak sunucudan 10.10.10.10'a trafik artık SSH tünelinde değil. 10.10.10.10'daki web sunucusu uzak sunucuyu web isteklerinin kaynağı olarak kabul edecektir.

4. Ters SSH tüneli

Burada, uzak sunucuda, yerel ana makinemizdeki (veya başka bir sistemdeki) yerel bağlantı noktasına geri bağlanacak bir dinleme bağlantı noktası yapılandıracağız.

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

Bu SSH oturumu, uzak sunucudaki 1999 numaralı bağlantı noktasından yerel istemcimizdeki 902 numaralı bağlantı noktasına kadar bir bağlantı kurar.

5. SSH Ters Proxy

Bu durumda ssh bağlantımıza bir çorap proxy kuruyoruz ancak proxy sunucunun uzak ucunda dinliyor. Bu uzak proxy'ye olan bağlantılar artık tünelden yerel ana makinemizden gelen trafik olarak görünüyor.

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

Uzak SSH tünelleriyle ilgili sorunları giderme

Uzak SSH seçeneklerinin çalışmasıyla ilgili sorun yaşıyorsanız, şu adrese başvurun: netstat, dinleme bağlantı noktasının başka hangi arayüzlere bağlı olduğu. Örneklerde 0.0.0.0 belirtmemize rağmen eğer değer Ağ GeçidiPortlar в sshd_config ayarlanır yok hayır, dinleyici yalnızca localhost'a (127.0.0.1) bağlanacaktır.

Güvenlik uyarısı

Tünellerin ve çorap proxy'lerinin açılmasıyla, dahili ağ kaynaklarına güvenilmeyen ağlar (İnternet gibi!) tarafından erişilebileceğini lütfen unutmayın. Bu ciddi bir güvenlik riski oluşturabilir; bu nedenle dinleyicinin ne olduğunu ve neye erişime sahip olduğunu anladığınızdan emin olun.

6. SSH aracılığıyla VPN kurulumu

Saldırı yöntemleri (pentesterler vb.) uzmanları arasında yaygın olarak kullanılan bir terim "ağdaki dayanak noktası"dır. Bir sistemde bağlantı kurulduğunda, bu sistem ağa daha fazla erişim için ağ geçidi haline gelir. Genişlik içinde hareket etmenizi sağlayan bir dayanak noktası.

Böyle bir dayanak noktası için bir SSH proxy'si kullanabiliriz ve vekil zincirleriancak bazı sınırlamalar var. Örneğin doğrudan soketlerle çalışmamız mümkün olmayacağından ağ içindeki portları üzerinden tarayamayacağız. Nmap SYN.

Bu daha gelişmiş VPN seçeneğini kullanarak bağlantı seviye 3. Daha sonra standart ağ yönlendirmeyi kullanarak trafiği tünelden kolayca yönlendirebiliriz.

Yöntem kullanır ssh, iptables, tun interfaces ve yönlendirme.

Öncelikle bu parametreleri ayarlamanız gerekir. sshd_config. Hem uzak hem de istemci sistemlerin arayüzlerinde değişiklik yaptığımız için her iki tarafta da kök haklarına ihtiyaç var.

PermitRootLogin yes
PermitTunnel yes

Daha sonra tun cihazlarının başlatılmasını talep eden parametreyi kullanarak ssh bağlantısı kuracağız.

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

Artık arayüzleri gösterirken bir ayar cihazımız olmalı (# ip a). Bir sonraki adımda tünel arayüzlerine IP adresleri eklenecektir.

SSH istemci tarafı:

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

SSH Sunucu Tarafı:

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

Artık başka bir ana bilgisayara doğrudan bir rotamız var (route -n и ping 10.10.10.10).

Herhangi bir alt ağı diğer taraftaki bir ana bilgisayar üzerinden yönlendirebilirsiniz.

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

Uzak tarafta etkinleştirmeniz gerekir 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

Patlama! Ağ katmanı 3'te SSH tüneli üzerinden VPN. Artık bu bir zafer.

Herhangi bir sorun ortaya çıkarsa kullanın tcp dökümü и pingnedenini belirlemek için. Katman 3'te oynadığımız için icmp paketlerimiz bu tünelden geçecektir.

7. SSH anahtarını kopyalayın (ssh-copy-id)

Bunu yapmanın birkaç yolu vardır, ancak bu komut, dosyaları manuel olarak kopyalamayarak zaman kazandırır. ~/.ssh/id_rsa.pub'u (veya varsayılan anahtarı) sisteminizden şuraya kopyalar: ~/.ssh/authorized_keys uzak bir sunucuda.

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

8. Uzaktan komut yürütme (etkileşimli olmayan)

takım ssh Ortak, kullanıcı dostu bir arayüz için diğer komutlara bağlanabilir. Uzak ana bilgisayarda çalıştırmak istediğiniz komutu tırnak içindeki son parametre olarak eklemeniz yeterlidir.

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

Bu örnekte grep Günlük ssh kanalı aracılığıyla indirildikten sonra yerel sistemde yürütülür. Dosya büyükse çalıştırmak daha uygundur grep uzak tarafta her iki komutu da çift tırnak içine alarak.

Başka bir örnek, aynı işlevi yerine getirir ssh-copy-id örnek 7'den.

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

9. Wireshark'ta uzaktan paket yakalama ve görüntüleme

Bizimkilerden birini aldım tcpdump örnekleri. Paketleri uzaktan yakalamak ve sonuçları doğrudan yerel Wireshark GUI'sinde görüntülemek için bunu kullanın.

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

10. Yerel bir klasörü SSH aracılığıyla uzak sunucuya kopyalamak

Bir klasörü kullanarak sıkıştıran güzel bir numara bzip2 (bu, komuttaki -j seçeneğidir) tar) ve ardından akışı alır bzip2 diğer tarafta uzak sunucuda yinelenen bir klasör oluşturmak.

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

11. SSH X11 Yönlendirme ile Uzak GUI Uygulamaları

X, istemciye ve uzak sunucuya kuruluysa, yerel masaüstünüzdeki bir pencereyle bir GUI komutunu uzaktan çalıştırabilirsiniz. Bu özellik uzun zamandır ortalıkta olmasına rağmen hala çok kullanışlıdır. Bu örnekte yaptığım gibi uzak bir web tarayıcısını veya hatta VMWawre Workstation konsolunu başlatın.

localhost:~$ ssh -X remoteserver vmware

Gerekli dize X11Forwarding yes dosyada sshd_config.

12. Rsync ve SSH kullanarak uzaktan dosya kopyalama

rsync çok daha uygun scpBir dizinin, çok sayıda dosyanın veya çok büyük dosyaların periyodik olarak yedeklenmesine ihtiyacınız varsa. Aktarım hatasından kurtarma ve yalnızca değiştirilen dosyaları kopyalamaya yönelik, trafikten ve zamandan tasarruf sağlayan bir işlev vardır.

Bu örnekte sıkıştırma kullanılıyor gzip (-z) ve yinelemeli kopyalamayı mümkün kılan arşivleme modu (-a).

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

13. Tor ağı üzerinden SSH

Anonim Tor ağı şu komutu kullanarak SSH trafiğini tünelleyebilir torsocks. Aşağıdaki komut ssh proxy'sini Tor üzerinden geçirecektir.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

gövde proxy için localhost'ta 9050 numaralı bağlantı noktasını kullanacaktır. Her zaman olduğu gibi, Tor'u kullanırken hangi trafiğin tünellendiğini ve diğer operasyonel güvenlik (opsec) sorunlarını ciddi şekilde kontrol etmeniz gerekir. DNS sorgularınız nereye gidiyor?

14. SSH'den EC2 örneğine

Bir EC2 bulut sunucusuna bağlanmak için özel bir anahtara ihtiyacınız vardır. Amazon EC2 kontrol panelinden bunu (.pem uzantısı) indirin ve izinleri değiştirin (chmod 400 my-ec2-ssh-key.pem). Anahtarı güvenli bir yerde saklayın veya kendi klasörünüze koyun ~/.ssh/.

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

Parametre -i ssh istemcisine bu anahtarı kullanmasını söyler. Dosya ~/.ssh/config Bir ec2 ana bilgisayarına bağlanırken anahtar kullanımını otomatik olarak yapılandırmak için idealdir.

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

15. Metin dosyalarını ssh/scp aracılığıyla VIM kullanarak düzenleme

Tüm aşıklar için vim Bu ipucu biraz zaman kazandıracak. Kullanarak vim dosyalar tek komutla scp aracılığıyla düzenlenir. Bu yöntem dosyayı yerel olarak oluşturur. /tmpve sonra onu kaydettikten sonra geri kopyalarız vim.

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

Not: format normalden biraz farklıdır scp. Ev sahibinden sonra çiftimiz var //. Bu mutlak bir yol referansıdır. Bir eğik çizgi, ana klasörünüze göre bir yolu gösterir users.

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

Bu hatayı görürseniz komut formatını bir kez daha kontrol edin. Bu genellikle bir sözdizimi hatası anlamına gelir.

16. Uzak bir SSH'yi SSHFS ile yerel klasör olarak bağlama

Vasıtasıyla sshfs - dosya sistemi istemcisi ssh - şifreli bir oturumda tüm dosya etkileşimleriyle yerel bir dizini uzak bir konuma bağlayabiliriz ssh.

localhost:~$ apt install sshfs

Paketi Ubuntu ve Debian'a yükleyin sshfsve ardından uzak konumu sistemimize bağlamanız yeterlidir.

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

17. ControlPath ile SSH Çoğullama

Varsayılan olarak, uzak bir sunucuya mevcut bir bağlantı varsa ssh kullanarak ikinci bağlantı ssh veya scp ek kimlik doğrulamayla yeni bir oturum oluşturur. Seçenek ControlPath mevcut oturumun sonraki tüm bağlantılar için kullanılmasına izin verir. Bu, süreci önemli ölçüde hızlandıracaktır: etki, yerel bir ağda bile ve hatta uzak kaynaklara bağlanırken daha da belirgindir.

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

ControlPath, aktif bir oturum olup olmadığını görmek için yeni bağlantıları kontrol edecek soketi belirtir. ssh. Son seçenek, konsoldan çıktıktan sonra bile mevcut oturumun 10 dakika boyunca açık kalacağı ve bu süre zarfında mevcut sokete yeniden bağlanabileceğiniz anlamına gelir. Daha fazla bilgi için yardıma bakın. ssh_config man.

18. VLC ve SFTP kullanarak SSH üzerinden video akışı yapın

Uzun süredir kullanıcılar bile ssh и vlc (Video Lan İstemcisi), gerçekten ağ üzerinden bir video izlemeniz gerektiğinde bu kullanışlı seçeneğin her zaman farkında olmayabilir. Ayarlarda Dosya | Ağ Akışını Aç program vlc konumu şu şekilde girebilirsiniz: sftp://. Şifre gerekiyorsa bir istem görünecektir.

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

19. İki faktörlü kimlik doğrulama

Banka hesabınız veya Google hesabınızla aynı iki faktörlü kimlik doğrulama, SSH hizmeti için de geçerlidir.

Tabii ki, ssh Başlangıçta iki faktörlü bir kimlik doğrulama işlevi vardır; bu, bir parola ve bir SSH anahtarı anlamına gelir. Donanım belirtecinin veya Google Authenticator uygulamasının avantajı, genellikle farklı bir fiziksel cihaz olmasıdır.

8 dakikalık kılavuzumuza bakın Google Authenticator ve SSH'yi kullanma.

20. ssh ve -J ile ana bilgisayarları atlamak

Ağ bölümlendirmesi, nihai hedef ağa ulaşmak için birden fazla ssh ana bilgisayarından geçmeniz gerektiği anlamına geliyorsa, -J kısayolu size zaman kazandıracaktır.

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

Burada anlaşılması gereken asıl şey, bunun komutla aynı olmadığıdır. ssh host1O zaman user@host1:~$ ssh host2 vb. -J seçeneği, localhost'u zincirdeki bir sonraki Host ile bir oturum kurmaya zorlamak için yönlendirmeyi akıllıca kullanır. Yukarıdaki örnekte localhost'umuzun kimliği host4'e doğrulanmıştır. Yani localhost anahtarlarımız kullanılır ve localhost'tan Host4'e olan oturum tamamen şifrelenir.

Böyle bir olasılık için ssh_config yapılandırma seçeneğini belirtin Proxy atlama. Düzenli olarak birden fazla ana bilgisayardan geçmeniz gerekiyorsa, yapılandırma aracılığıyla otomasyon çok fazla zaman kazandıracaktır.

21. iptables kullanarak SSH kaba kuvvet girişimlerini engelleyin

SSH hizmetini yöneten ve günlüklere bakan herkes, her günün her saatinde gerçekleşen kaba kuvvet girişimlerinin sayısını bilir. Günlüklerdeki gürültüyü azaltmanın hızlı bir yolu, SSH'yi standart olmayan bir bağlantı noktasına taşımaktır. Dosyada değişiklik yapma sshd_config konfigürasyon parametresi aracılığıyla Liman##.

Ile iptables Belirli bir eşiğe ulaştığınızda bir bağlantı noktasına bağlanma girişimlerini de kolayca engelleyebilirsiniz. Bunu yapmanın kolay bir yolu kullanmaktır OSSEC, çünkü yalnızca SSH'yi engellemekle kalmıyor, aynı zamanda bir dizi başka ana bilgisayar adı tabanlı izinsiz giriş tespit (HIDS) önlemi de alıyor.

22. Bağlantı noktası yönlendirmeyi değiştirmek için SSH Escape

Ve son örneğimiz ssh Mevcut bir oturumda bağlantı noktası yönlendirmeyi anında değiştirmek için tasarlanmıştır ssh. Bu senaryoyu hayal edin. Ağın derinliklerindesiniz; belki yarım düzineden fazla ana bilgisayara atlanmıştır ve iş istasyonunda eski bir Windows 2003 sisteminin Microsoft SMB'sine iletilen yerel bir bağlantı noktasına ihtiyaç duymaktadır (ms08-67'yi hatırlayan var mı?).

tıklama enter, konsola girmeyi deneyin ~C. Bu, mevcut bir bağlantıda değişiklik yapılmasına izin veren bir oturum kontrol dizisidir.

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 yerel 1445 numaralı bağlantı noktamızı dahili ağda bulduğumuz bir Windows 2003 ana bilgisayarına ilettiğimizi görebilirsiniz. Şimdi sadece koş msfconsoleve devam edebilirsiniz (bu ana bilgisayarı kullanmayı planladığınızı varsayarak).

Tamamlama

Bu örnekler, ipuçları ve komutlar ssh bir başlangıç ​​noktası vermeli; Komutların ve yeteneklerin her biri hakkında daha fazla bilgi man sayfalarında mevcuttur (man ssh, man ssh_config, man sshd_config).

Dünyanın herhangi bir yerindeki sistemlere erişme ve komutları yürütme yeteneği beni her zaman büyülemiştir. Gibi araçlarla becerilerinizi geliştirerek ssh Oynadığınız her oyunda daha etkili olacaksınız.

Kaynak: habr.com

Yorum ekle