SSH (eller "Secure Shell") er en nettverksprotokoll som lar deg utveksle data med en ekstern vert over en kryptert kanal. Det er mest brukt som et interaktivt skall med Linux og andre UNIX-lignende systemer. Du kan bruke den til å logge på en webserver og kjøre noen få kommandoer for å vedlikeholde nettstedet ditt. Men det kan også gjøre andre ting, for eksempel overføre filer og videresende nettverkstilkoblinger.
Nett:: SSH er en vei for Rubin å samhandle med SSH. Ved hjelp av denne perlen kan du koble til eksterne verter, kjøre kommandoer, undersøke deres utdata, overføre filer, videresende nettverkstilkoblinger og gjøre hva du normalt vil gjøre med en SSH-klient. Dette er et kraftig verktøy å ha hvis du ofte samhandler med eksterne Linux- eller UNIX-lignende systemer.
Installere Net:: SSH
De Nett:: SSH biblioteket i seg selv er rent Ruby - det krever ingen andre perler og trenger ikke en kompilator for å installere. Det er imidlertid avhengig av at OpenSSL-biblioteket gjør all kryptering som er nødvendig. Kjør følgende kommando for å se om OpenSSL er installert.
Hvis Ruby-kommandoen over sender ut en OpenSSL-versjon, er den installert og alt skal fungere. Windows One-Click Installer for Ruby inkluderer OpenSSL, i likhet med mange andre Ruby-distribusjoner.
Å installere Nett:: SSH biblioteket selv, installer Netto-ssh perle.
Grunnleggende bruk
Den vanligste måten å bruke Net:: SSH er å bruke Nett:: SSH.start metode. Denne metoden tar vertsnavnet, brukernavnet og passordet og vil enten returnere et objekt som representerer økten eller sende det til en blokk hvis det er gitt et. Hvis du girstart metode en blokk, vil forbindelsen bli lukket på slutten av blokken. Ellers må du lukke tilkoblingen manuelt når du er ferdig med den.
Følgende eksempel logger på en ekstern vert og får utdataene fra ls (liste filer) kommando.
Innenfor blokken ovenfor, ssh objekt refererer til den åpne og autentiserte tilkoblingen. Med dette objektet kan du starte hvilket som helst antall kommandoer, starte kommandoer parallelt, overføre filer osv. Du vil kanskje også legge merke til at passordet ble sendt som et hash-argument. Dette er fordi SSH gir mulighet for en rekke autentiseringsordninger, og du må fortelle at dette er et passord.