Ang SSH (Secure Shell) ay isang protocol na nagbibigay-daan sa atin na ligtas na ma-access ang mga malalayong computer, katulad ng Telnet, ngunit gumagamit ng mga algorithm ng pag-encrypt na tumutulong sa atin na mapanatiling ligtas ang ating koneksyon, lalo na kung gusto nating ma-access ang mga computer na gumaganap ng isang mahalagang tungkulin sa loob ng isang organisasyon.
Pangkalahatan, upang ma-access dapat nating ibigay ang aming username at ang address ng computer, upang hilingin sa amin ng SSH server para sa access password:
ssh usuario@equiporemoto
Mula sa sandali na pinasimulan ng kliyente ang unang koneksyon sa pagitan ng remote computer at sa amin, ang impormasyon ay ligtas nang naglalakbay, pinipigilan ang isang tao na makuha ang aming mga kredensyal sa pag-access sa nasabing computer, subalit ang SSH ay isang napaka-madaling ibagay na proteksyon na nag-aalok sa amin ng maraming mga posibilidad.
SCP
Ang una ay upang makapaglipat ng mga file sa pagitan ng client at ng remote computer, nang hindi kinakailangan na mag-mount ng isang FTP o NFS server, sa pamamagitan lamang ng paggamit ng SCP (Secure CoPy) na ipinatupad ng karamihan sa mga SSH server:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
SSH Tunneling
Napaka kapaki-pakinabang ng tampok na ito, dahil pinapayagan kaming magpadala at tumanggap ng impormasyon na hindi kinakailangang mga utos ng shell sa pagitan ng client at ng remote computer, halimbawa ng ordinaryong pagba-browse. Kung hindi mo hulaan kung ano ang maaaring mayroon nito, isipin ang tungkol sa sumusunod: kailangan mong i-access ang isang pahina, ngunit ang lugar kung nasaan ka ay may isang firewall na ipinatutupad na humahadlang sa pahinang iyon, samakatuwid, maaari naming gawin ang 'tunneling' sa isang remote computer na walang nasabing mga kandado at pag-browse sa nasabing pahina sa pamamagitan ng aming sesyon ng SSH:
ssh -D 8888 usuario@equiporemoto
Kapag nakakonekta, 'nakikinig' ang aming SSH client sa port 8888 bilang isang proxy server, upang mai-configure namin ang aming browser at lahat ng trapiko ay maililipat sa sesyon ng SSH
Ang isa pang halimbawa na nangyayari sa akin ay kapag, dahil sa ilang paghihigpit sa heyograpiya, hindi namin ma-access ang isang serbisyo sa web mula sa kung nasaan kami, kapag ginagawa ang lagusan, sinabi ng serbisyo sa web na nakikita ang IP ng aming remote server bilang mapagkukunan, hindi ang aming client IP. Medyo katumbas ito ng mga VPN (Virtual Private Network)
Baligtarin ang SSH
Kung sa ilang kadahilanan kailangan nating mag-access sa isang computer na nasa likod ng isang firewall at hindi ito pinapayagan na i-redirect ang trapiko ng SSH dito, maaari naming gawin ang isang 'reverse SSH', sa paraang kumokonekta ang computer sa isa pang SSH server, kung saan maaari din kaming kumonekta, upang ma-access ang kagamitan sa likod ng firewall. Ang isang halimbawa na naisip ko ay kapag nais naming tulungan ang isang kaibigan na walang ideya kung paano i-configure ang isang pag-redirect sa kanyang modem, ngunit kailangan naming ma-access ang kanyang computer nang malayuan:
Kaibigan -> Modem -> SSH Server <- Tungkol Sa Amin
Ang mga hakbang na susundan ay napaka-simple:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
Kami
ssh usuario@servidorssh
Sa sandaling nasa loob ng SSH server, maaari kaming kumonekta sa paggamit ng koponan ng aming kaibigan
ssh amigo@localhost -p 9999
Tulad ng nakikita mo, ang lahat ng mahika ay nakasalalay sa parameter na -R, na nagsasabi sa intermediate server na sa port 9999 ang computer ng aming kaibigan ay nakikinig ngayon bilang isang server.
Ito ay ilan lamang sa mga posibilidad na inaalok sa amin ng SSH ngunit inaanyayahan ka naming mag-eksperimento sa ilan pa, halimbawa; maaari naming gawin ang mga hindi nag-iingat na script gamit ang mga RSA key, i-redirect ang mga session ng X (graphic mode) sa aming grapikong kapaligiran, banggitin lamang ang ilan.