Publisert
Hvis du trenger å bruke SSH i Linux for å eksternt administrere andre datamaskiner, vil denne guiden veilede deg gjennom å gjøre nettopp det.
I dagens sammenhengende landskap har evnen til å administrere datamaskiner fra forskjellige geografiske steder vokst fra luksus til nødvendighet. Det er flere måter å gjøre dette på, avhengig av hvilket operativsystem som brukes. Til Linux-baserte systemer, den vanligste og sikreste måten å administrere PC-en din eksternt på er å bruke SSH (eller Sikkert skall).
La oss grave inn i hvordan du bruker SSH på Linux for å koble til andre datamaskiner.
Viktige første trinn
Før du kan koble til en annen Linux-datamaskin med SSH, må du oppfylle følgende forutsetninger:
- Måldatamaskinen må forbli slått på og koblet til et nettverk.
- Nødvendig klient- og serverprogramvare må være installert og aktivert.
- Du må vite IP-adressen eller vertsnavnet til målmaskinen.
- Passende tillatelser for ekstern tilgang må være på plass.
- Brannmurkonfigurasjoner på den eksterne datamaskinen må tillate den innkommende tilkoblingen.
Hvis du har tilgang til en Linux-datamaskin som drives av, for eksempel, webvertfirmaet ditt, burde de allerede ha tatt seg av alt dette. Deretter må du kanskje gjøre noen grunnleggende programvareinstallasjoner på din egen Linux-datamaskin.
Bruke SSH på Linux: En praktisk veiledning
Etablering av en funksjonell SSH-tilkobling krever både klient- og serverprogramvaremoduler. OpenSSH fungerer som en åpen kildekode-alternativ hovedsakelig for Linux-plattformer.
For å installere den riktige OpenSSH-klienten, trenger du terminaltilgang på din lokale maskin. Merk at Ubuntu-systemer mangler en forhåndsinstallert SSH-server.
Installere en OpenSSH-klient
Før du fordyper deg i installasjonsprosessen, bør du sjekke at SSH-klienten ikke allerede er der. For å gjøre det, bare åpne et terminalvindu. Du kan enten søke etter "terminal" eller trykke ctrl + alt + t på tastaturet ditt.
Når du er i terminalvinduet, test for tilstedeværelsen av SSH-klienten ved å skrive følgende:
$ ssh
Hvis Linux-datamaskinen allerede har en SSH-klient installert, vil du se følgende informasjon rulle over skjermen.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Hvis du i stedet mottar en klage på at filen ikke ble funnet, må du fortsette med installasjonen av OpenSSH-klienten. Heldigvis er dette enkelt nok.
På Ubuntu og andre Debian-baserte installasjoner, kjør bare følgende kommando i Terminal:
$ sudo apt install openssh-client
Hvis du kjører Fedora eller en annen distribusjon som bruker nam i stedet for apt, bare kjør denne kommandoen:
$ sudo yum -y install openssh-clients
Nyere Fedora-systemer kan bruke dnf i stedet. Hvis det høres ut som deg, er den magiske kommandoen:
$ sudo dnf install -y openssh-clients
Følg instruksjonene på skjermen, så er du klar på et blunk.
Initiere en SSH-tilkobling
Når du har sørget for at SSH-klienten er installert på Linux-datamaskinen din, er det på tide å starte den første tilkoblingen. Mens du fortsatt er i terminalvinduet, utfør følgende kommando:
$ ssh username@host_ip_address
Hvis brukernavn samsvarer på tvers av lokale og eksterne maskiner, skriv ganske enkelt inn:
$ ssh host_ip_address
Første gang du kobler til, vil du bli møtt med en melding som spør om du vil fortsette å koble til den ukjente datamaskinen. På dette tidspunktet skriver du ja og fortsett.
Tast inn passordet ditt, for å forstå at du ikke vil få noen tilbakemelding på skjermen under innreise. Når du er ferdig, bør du være logget på den eksterne serveren og kan begynne å gjøre den oppgaven du trenger å utføre på den datamaskinen i utgangspunktet.
Forstå SSH: A High-Level Overview
Secure Shell, eller SSH – noen ganger betegnet som Secure Socket Shell – er en protokoll som muliggjør sikker tilkobling til eksterne servere eller datamaskiner gjennom et tekstbasert grensesnitt.
Ved autentisering av en sikker SSH-kanal, initialiseres en shell-sesjon, som tillater kommandolinjeinteraksjon fra din lokale maskin.
Denne protokollen er velkjent og elsket av system- og nettverksadministratorer, så vel som alle som trenger sikker ekstern maskinadministrasjon.
Mekanikk for SSH-funksjonalitet
Etablering av en SSH-kanal krever samarbeid mellom to sentrale komponenter: en applikasjon på klientsiden og dens motpart på serversiden. Klientapplikasjonen starter tilkoblingen ved å gi ekstern vertslegitimasjon.
Hvis verifisert, oppretter programvaren en kryptert kanal mellom de to datamaskinene. På den eksterne maskinen skanner en SSH-demon kontinuerlig en angitt TCP/IP-port for potensielle tilkoblingsforespørsler.
Ved mottak formidler demonen sin programvare og protokollfunksjoner, og begge enhetene bytter identifiseringsdata. En kryptert økt følger hvis legitimasjonen samsvarer, hovedsakelig via SSH-protokoll versjon 2.
Avansert SSH-bruk: Lagring av krypteringsnøkkelen for å unngå å skrive inn et passord
La oss nå si at du vil unngå å måtte Skriv inn passordet ditt hver gang du logger på en ekstern server. For en sikker, passordfri tilkobling til en annen datamaskin er en SSH-nøkkel (Secure Shell) uunnværlig.
Du har kanskje allerede en slik nøkkel, men å generere en ny er aldri en dårlig idé. En SSH-nøkkel, som stammer fra din lokale datamaskin, er delt inn i to forskjellige elementer: en konfidensiell, privat nøkkel – som aldri skal røpes – og dens offentlige motstykke. Denne offentlige nøkkelen blir deretter spredt til alle eksterne systemer du trenger å logge på.
Noen mennesker kan velge én SSH-nøkkel for en rekke applikasjoner, alt fra eksterne systempålogginger til GitLab. En nøkkel til å styre dem alle, kan du si. Min tilnærming er imidlertid mer detaljert. Jeg bruker forskjellige nøkler, hver designet for et spesifikt undersett av oppgaver.
For eksempel bruker jeg en dedikert nøkkel for lokale maskiner i hjemmenettverket mitt, en annen eksklusiv nøkkel for webservere under min administrasjon, og enda en unik nøkkel for samhandling med Git verter.
Opprette et nytt SSH-nøkkelpar
Slik kan du opprette en ny SSH-nøkkel og deretter kopiere den til den eksterne serveren du vil bruke den til. Lag først nøkkelen ved å bruke ssh-keygen.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Flagget -t spesifiserer typen nøkkel som skal opprettes, og sikrer at krypteringen er høyere enn standarden. De -f flagget angir nøkkelens filnavn og plassering.
Når du utsteder denne kommandoen, blir du bedt om å opprette et passord for nøkkelen. Dette passordet, hvis du angir det, forblir lokalt og sendes ikke over nettverket.
Sender SSH-nøkkelen til den eksterne serveren
Deretter må du sende den sikkerhetsnøkkelen til den eksterne serveren. For å oppnå dette, bare gi denne kommandoen:
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Du vil bli bedt om påloggingspassordet på den eksterne verten. Når prosessen er fullført, vil nøkkelen din imidlertid bli installert på den datamaskinen.
Du bør teste ved å prøve å logge på den eksterne datamaskinen. Når du gjør ssh til den eksterne verten igjen, vil du bli bedt om passordfrasen for nøkkelen, hvis du angir en. Dette er ikke ditt påloggingspassord, husk. Det er passordfrasen som er spesifikk for den SSH-nøkkelen.
På mange distribusjoner, inkludert Linux, åpnes denne passordfrasen som en dialogboks. Som du kan se fra eksemplet nedenfor, kan du merke av i en boks for å få Linux-datamaskinen til å huske passordfrasen. Det vil imidlertid redusere sikkerheten til nøkkelen.
Når du har skrevet inn passordfrasen for SSH-nøkkelen din, bør du ikke måtte skrive den inn igjen før du logger ut av den lokale datamaskinen.
Andre måter å bruke SSH på
Når alt dette er gjort, er du klar for å bruke SSH for ekstern tilgang til andre Linux- eller Unix-baserte datamaskiner. Selvfølgelig handler det ikke bare om å komme til ledeteksten.
SSH inkluderer også en sikker måte å overføre filer mellom datamaskiner uten å bruke FTP. Du kan bruke Secure Copy, eller scp, til flytte disse filene rundt. Hvis du er en Windows 11-bruker og trenger å bruke SSH, er du heldig siden klienten er forhåndsinstallert. Du kan selv generere og bruke SSH-nøkler i Windows 11.