SSH, higit pa sa isang ligtas na shell

SSH (Secure na Shell) ay isang protokol na makakatulong sa amin na ligtas na ma-access ang mga malalayong computer, karaniwang tulad ng ginagawa ng Telnet, ngunit gumagamit ng mga algorithm na naka-encrypt na makakatulong sa amin na panatilihing ligtas ang aming koneksyon, lalo na kung nais naming ma-access ang mga computer na nagsasagawa ng ilang mahalagang pag-andar sa loob ng isang samahan.

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

SSH Tunnel

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.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Astro dijo

    Mahusay na artikulo, sabik na akong makauwi at simulan ang pagsasanay sa kanila.

    1.    adr14n dijo

      Maraming salamat! Ito talaga ang aking unang post sa blog at talagang masarap basahin ang mga komentong ito. Cheers!

  2.   Pablo cardozo dijo

    Kahapon lang nagtatanong ako tungkol sa paksang ito, at ito ang sumusunod.

    Mayroon bang anumang paraan upang mai-scp ko ang isang buong folder ngunit isinasaalang-alang ang petsa ng mga file? Sa madaling salita, mayroon akong isang folder na may maraming mga file na na-download ko noong nakaraan, interesado akong mag-download lamang ng na-upload sa folder na iyon mula sa isang tiyak na petsa.

    Pagbati at maraming salamat nang maaga.

    1.    masigla dijo

      Maaari mo itong gawin sa RSYNC sa SSH. 😉

      1.    giskard dijo

        Si rsync ang takip ng garapon !!! 😀

      2.    Eduardo dijo

        Inirerekumenda kong subukan mong magkakasama, ito ay SPECTACULAR, magagamit ito sa mga repos (debian at ubuntu kahit na)

        http://www.cis.upenn.edu/~bcpierce/unison/

        Ginagamit ko ito upang gumawa ng pang-araw-araw na pag-backup ng aking tala sa isa pang computer, bilang karagdagan sa pagkakaroon ng mga naka-synchronize na direktoryo sa iba't ibang mga computer.

        Napakadaling gamitin

        Umaasa ako na ito ay kapaki-pakinabang sa iyo!

        Tagumpay
        Eduardo

    2.    Kaliwete dijo

      Tila higit pa sa isang gawain tulad ng para sa rsync, ngunit hindi ko alam kung mayroong isang parameter upang gawin iyon partikular, kung hindi, marahil dapat itong hawakan mula sa isang script

    3.    adr14n dijo

      Ang nangyayari sa akin ay gumawa ng isang ls na inayos ayon sa petsa, at mula doon kopyahin ang mga kailangan mo ng isang simpleng scp, dahil ang scp ay walang kasing mga function tulad ng sinasabi nila, mayroon itong rsync.

  3.   hindi kilala dijo

    Pinatunayan ko na ang reverse ssh ay maluho, ginamit ko ito sa pagitan ng aking pc at isa pa na higit sa 700Km ang layo at zero na mga problema.
    Salamat sa mga artikulong ito, napakahalaga ng mga ito.

  4.   tumigil ka dijo

    Sobrang maalat! Haha Hindi ko alam na ang ssh ay may maraming mga posibilidad, nais kong malaman kung paano mag-set up ng isang ssh server at simulang mag-eksperimento sa mga kakayahan nito, isang bagay lamang, maaari mo bang ipaliwanag kung ano ang ginagawa ng bawat parameter?

    1.    adr14n dijo

      Ayon sa mismong ssh man, nagsisilbi ang -D na tukuyin ang isang 'dynamic application forwarder' nang lokal, na tulad ng ipinaliwanag ko sa artikulo, ay nagsisilbing ipasa ang trapiko sa pamamagitan ng isang lagusan sa loob ng parehong session ng SSH. Tinutukoy ng -R ang remote port na ire-redirect sa aming lokal na computer sa pamamagitan ng isang 'pagpapasa'. At sa wakas tinukoy ng -p kung aling port ang dapat kumonekta sa kliyente, kapag hindi ito gumagamit ng karaniwang port: 22

  5.   manuelmdn dijo

    Magandang bagay na nakakaapekto sa paksang ito, mayroon akong isang katanungan tungkol sa mga ssh key, maaari kang makabuo ng higit sa isang susi para sa iba't ibang mga serbisyo? Inaasahan kong gumawa sila ng isang post tungkol sa pamamahala ng mga ssh key, alam ko na sa google mayroong sagot., Ngunit sana kayong mag-usap tungkol dito,

    Pagbati!

    1.    adr14n dijo

      Kapag gumamit ka ng pagpapatotoo sa pamamagitan ng mga SSL key, maaari mong i-export ang pareho (iyong computer) sa iba't ibang mga serbisyo at sa parehong paraan, kung ang iyong computer ang server, maaari mong isama ang iba't ibang mga susi mula sa iba't ibang mga computer. Hindi ko alam kung nasagot ko ang iyong katanungan, ngunit naintindihan ko iyon. Cheers

  6.   Luis dijo

    Sa palagay ko naaalala ko na may isang paraan sa pamamagitan ng ssh na pinapayagan kaming magpatakbo ng isang application nang malayuan at tingnan ito sa aming computer na para bang isang lokal na application.

    Halimbawa, maaari kaming magpatakbo ng firefox, nakikita at kontrolin namin ito sa aming lokal na computer ngunit tumatakbo ang proseso sa remote computer.

    Lalo na kapaki-pakinabang sa mga computer na may kaunting mapagkukunan ngunit sa kasamaang palad hindi ko kontrolado ang isyu at hindi ko alam kung paano i-configure ang mga computer upang magawa iyon.

    Mayroon bang may alam tungkol sa paksa?

    1.    Mga tauhan dijo

      Para sa isang bagay na tulad nito ay magiging maginhawa upang gamitin ang VNC at maaari mong lagusan kasama ang SSH.

      1.    x11tete11x dijo

        @Staff para sa akin hindi magiging madali ang paggamit ng VNC .. kasama ang VNC kung hindi ako masama dalhin mo ang buong desktop ..

        @Luis, ang ginagawa mo ay tapos na sa pamamagitan ng simpleng pagdaragdag ng parameter na "-X" sa ssh (kailangan mong payagan ang X pagpasa sa iyong server)

        http://i.imgur.com/NCpfzBL.jpg

      2.    Mga tauhan dijo

        @ x11tete11x
        Isinasaalang-alang kung ano ang nabanggit ni Luis, naisipan kong mag-alok sa kanya ng isa pang kahalili, mula noong:

        1. "Lalo na kapaki-pakinabang sa mga computer na may kaunting mapagkukunan ..."

        -Nga kaso ng isang solong aplikasyon, maaaring hindi ito ubusin ng napakaraming mapagkukunan, ngunit ang pagsubok na buksan ang 10 windows na may x forwarding ay patuloy na ginagawang mas mahirap ang system kaysa sa pagkakaroon ng isang solong halimbawa ng VNC, dahil ang VNC ay hindi "nagdala ng buong desktop"
        -Kapag isinasara ang programa sa client nagtatapos ito ng pareho sa server (May isang nagwawasto sa akin kung mali ako), habang may VNC maaari kang, halimbawa, mag-iwan ng isang pag-download ng torrent buong gabi at mag-log in muli sa umaga at ang lahat ay magpapatuloy tulad ng pag-alis ko.
        -VNC ay isang system agnostic protocol, maaari mong ma-access ito mula sa isang kliyente sa Win, Andorid, Mac OSX, atbp. at gamitin ang iyong mga programa sa GNU / Linux, nang hindi kinakailangang mag-install ng anupaman maliban sa VNC client mismo.

        At 2. "... sa kasamaang palad hindi ko kontrolado ang isyu at hindi ko alam kung paano i-configure ang mga computer upang magawa iyon."

        Mas madali ito (At nang walang peligro na mai-type ang isang bagay na mali at i-restart nang walang desktop) upang mai-install ang VNC at i-configure ang SSH tunnel (Tapos na ito sa GUI) kaysa ilipat ang mga X file ng pagsasaayos.

      3.    Luis dijo

        Maraming salamat sa inyong mga komento.

        Gumagamit ako ng SSH kasama ang SHFS upang ma-access ang malayuang nilalaman sa aking maliit na server nang mahabang panahon, ngunit hindi pa ako nakapagpatakbo ng mga malalayong application sa isang grapikong kapaligiran.

        Susubukan ko ang parehong mga pagpipilian upang makita kung paano ito gumagana. Ang sinasabi ko noong una ay tila mas simple dahil ayon sa x11tete11x, magdagdag ka lamang ng isang parameter.

        Pagkatapos ay makikita ko kung makakahanap ako ng isang simpleng paraan upang mai-configure ang VNC dahil medyo malaki ako, isa akong gumagamit ng Arch kaya tiyak na magkakaroon ng impormasyon sa wiki, isa pang bagay na nalaman ko. Hehehe

        Isang pagbati.

    2.    adr14n dijo

      Maaari itong gawin sa pamamagitan ng pagpasa ng -X parameter sa session, ngunit kailangan mong i-configure ang iyong X server upang tanggapin ang mga koneksyon mula sa isang computer sa network, sa palagay ko naka-configure ito sa xhost utility. Tulad ng pagbanggit ng Staff, ang VNC ay isang napakahusay na pagpipilian din

    3.    Mario dijo

      Ipinapasa ang X11, dito sa parehong site na ito mayroong isang post tungkol doon:
      https://blog.desdelinux.net/x11-forwarding-a-traves-de-ssh/

    4.    Luis dijo

      Salamat sa impormasyon mga kaibigan.

      Sinabi ko, Gagawin ko ito gamit ang parehong mga pagpipilian upang makita kung alin ang mas nababagay sa akin.

      Pagbati!