SSH (Secure Shell) er en protokoll som hjelper oss med sikker tilgang til eksterne datamaskiner, i utgangspunktet som Telnet gjør, men ved hjelp av krypteringsalgoritmer som hjelper oss å holde forbindelsen sikker, spesielt hvis vi ønsker å få tilgang til datamaskiner som utfører en eller annen viktig funksjon i en organisasjon.
Generelt, for å få tilgang, må vi oppgi brukernavnet og adressen til datamaskinen, slik at SSH-serveren ber oss om tilgangspassordet:
ssh usuario@equiporemoto
Fra det øyeblikket klienten initierte den første forbindelsen mellom den eksterne datamaskinen og oss, reiser informasjonen allerede trygt, og forhindrer noen fra å få tilgangsinformasjonen til den datamaskinen, men SSH er en veldig tilpasningsdyktig protokoll som gir oss mange muligheter.
SCP
Den første av disse er å kunne overføre filer mellom klienten og den eksterne datamaskinen, uten å måtte montere en FTP- eller NFS-server, bare ved å bruke SCP (Secure CoPy) som de fleste SSH-servere implementerer:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
SSH-tunnelering
Denne funksjonen er veldig nyttig, siden den lar oss sende og motta informasjon som ikke nødvendigvis er skallkommandoer mellom klienten og den eksterne datamaskinen, for eksempel vanlig surfing. Hvis du ikke gjetter hvilken bruk dette kan ha, tenk på følgende: du trenger tilgang til en side, men stedet der du er har en brannmur implementert som blokkerer nøyaktig den siden, derfor kan vi gjøre 'tunneling' med en fjernkontroll datamaskin som ikke har nevnte låser og blar gjennom siden gjennom SSH-økten vår:
ssh -D 8888 usuario@equiporemoto
Når den er koblet til, lytter SSH-klienten vår på port 8888 som en proxy-server, slik at vi kan konfigurere nettleseren vår og all trafikk overføres gjennom SSH-økten.
Et annet eksempel som oppstår for meg er når vi, på grunn av noen geografiske begrensninger, ikke får tilgang til en webtjeneste hvor vi er, når vi lager tunnelen, oppdager nettjenesten IP-adressen til den eksterne serveren vår som kilde, ikke vår klient-IP. Dette tilsvarer noe VPN-er (Virtual Private Network)
Omvendt SSH
Hvis vi av en eller annen grunn trenger tilgang til en datamaskin som ligger bak en brannmur, og den ikke tillater oss å omdirigere SSH-trafikk til den, kan vi gjøre en 'omvendt SSH', på en slik måte at datamaskinen kobles til en annen SSH-server, der vi også kan koble til, for å få tilgang til utstyret bak brannmuren. Et eksempel som kommer opp i tankene våre er når vi vil hjelpe en venn som ikke aner hvordan man konfigurerer en viderekobling på modemet, men vi trenger å få tilgang til datamaskinen hans eksternt:
Venn -> Modem -> SSH Server <- Om oss
Fremgangsmåten som skal følges er relativt veldig enkel:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
Oss
ssh usuario@servidorssh
Når vi er inne i SSH-serveren, kan vi få kontakt med vennens team ved hjelp av
ssh amigo@localhost -p 9999
Som du kan se, ligger all magien i -R-parameteren, som forteller mellomtjeneren at vår venns datamaskin lytter nå som en server på port 9999.
Dette er bare noen muligheter som SSH tilbyr oss, men jeg inviterer deg til å eksperimentere med noe mer, for eksempel; Vi kan gjøre skript uten tilsyn ved hjelp av RSA-taster, omdirigere X-økter (grafisk modus) til vårt grafiske miljø, for bare å nevne noen få.