SSH (eller "Secure Shell") er en netværksprotokol, der giver dig mulighed for at udveksle data med en ekstern vært over en krypteret kanal. Det bruges mest som et interaktivt shell med Linux og andre UNIX-lignende systemer. Du kan bruge den til at logge på en webserver og køre et par kommandoer for at vedligeholde dit websted. Det kan dog også gøre andre ting, såsom overførselsfiler og videresend netværksforbindelser.
Net:: SSH er en måde for Rubin at interagere med SSH. Ved hjælp af denne perle kan du oprette forbindelse til eksterne værter, køre kommandoer, undersøge deres output, overføre filer, videresende netværksforbindelser og gøre alt, hvad du normalt ville gøre med en SSH-klient. Dette er et kraftfuldt værktøj, hvis du ofte interagerer med eksterne Linux- eller UNIX-lignende systemer.
Installation af Net:: SSH
Det Net:: SSH biblioteket i sig selv er rent Ruby - det kræver ingen andre perler og behøver ikke en compiler for at installere. Det er dog afhængigt af, at OpenSSL-biblioteket udfører al den nødvendige kryptering. For at se, om OpenSSL er installeret, skal du køre følgende kommando.
Hvis Ruby-kommandoen ovenfor udsender en OpenSSL-version, er den installeret, og alt skal fungere. Windows One-Click Installer til Ruby inkluderer OpenSSL, ligesom mange andre Ruby-distributioner.
Sådan installeres Net:: SSH biblioteket selv, installer netto-ssh perle.
Grundlæggende anvendelse
Den mest almindelige måde at bruge Net:: SSH er at bruge Net:: SSH.start metode. Denne metode tager værtsnavnet, brugernavnet og adgangskoden og returnerer enten et objekt, der repræsenterer sessionen eller videregiver det til en blok, hvis det er givet et. Hvis du giverStart metode en blok, forbindelsen lukkes i slutningen af blokken. Ellers skal du manuelt lukke forbindelsen, når du er færdig med den.
Følgende eksempel logger på en ekstern vært og får output fra ls (liste filer) kommando.
Inden for ovenstående blok, ssh objekt henviser til den åbne og godkendte forbindelse. Med dette objekt kan du starte et vilkårligt antal kommandoer, starte kommandoer parallelt, overføre filer osv. Du kan også bemærke, at adgangskoden blev videregivet som et hash-argument. Dette skyldes, at SSH tillader en række autentificeringsordninger, og du skal fortælle det, at dette er en adgangskode.