Annonse
SSH er en fin måte å få ekstern tilgang til datamaskinen din. I likhet med FTP kan du koble til over SSH FTP Hva SSH er og hvordan det er forskjellig fra FTP [Teknologi forklart] Les mer for å få sikker tilgang til en filserver med din favoritt FTP-klient Master FTP-filoverføringer på alle nettstedene dine med FileZillaEt stort antall gamle FTP-klienter hadde hikke når det kom til store filoverføringer. Appene opplevde de vanlige tidsavbruddene som du forventer når datamaskinen sitter der i 15 til... Les mer , rask tilgang til eksterne filer, eller til og med montere en nettverksdisk til datamaskinen. Men det er mer til SSH enn ekstern filtilgang. Logge inn over SSH i Terminal (eller bruke PuTTY på Windows) gir deg ekstern skalltilgang (tross alt er SSH en forkortelse for Secure SHell). Det er hvordan jeg administrerer medieserveren min på avstand.
Når du åpne portene Hva er portvideresending og hvordan kan det hjelpe meg? [MakeUseOf forklarer]Gråter du litt inni deg når noen forteller deg at det er et portvideresendingsproblem, og at det er grunnen til at den skinnende nye appen din ikke vil fungere? Xboxen din lar deg ikke spille spill, torrent-nedlastingene dine nekter... Les mer på ruteren din (port 22 for å være nøyaktig) kan du ikke bare få tilgang til SSH-serveren fra ditt lokale nettverk, men fra hvor som helst i verden.
Du vil imidlertid ikke risikere å bruke et svakt passord for autentisering. Hvis noen får tilgang til datamaskinen din over SSH, får de fullstendig shell-tilgang. Bare for å være tydelig, det er ikke noe vi ønsker. Heldigvis er det veldig enkelt å sette opp din globale SSH-server på en veldig sikker måte ved å bruke nøkkelbasert autentisering og deaktivere passordautentisering på serveren din.
Er dette for meg?
Det er fristende å bli slapp med personlig sikkerhet. Hvis du bruker serveren for private midler, tror du kanskje at folk rett og slett ikke vet om serveren din og derfor ikke vil prøve å hacke den – sikkerhet gjennom uklarhet. Det ville være en veldig feil antagelse. Fordi (mest) SSH-trafikk overføres på port 22, sjekker angripere rutinemessig synligheten til port 22 på tilfeldige IP-adresser, etterfulgt av et brute force-angrep. Dette er en av måtene botnett er laget for bruk i DDOS-angrep Hva er et DDoS-angrep? [MakeUseOf forklarer]Begrepet DDoS plystrer forbi hver gang cyber-aktivisme reiser opp hodet i massevis. Denne typen angrep skaper internasjonale overskrifter på grunn av flere årsaker. Problemene som starter disse DDoS-angrepene er ofte kontroversielle eller svært ... Les mer .
For å gjøre en lang historie kort: hvis du kringkaster SSH-serveren din over internett (dvs. videresend port 22), så ja, dette er for deg.
Ideen om nøkkelbaserte SSH-pålogginger
Nøkkelbaserte SSH-pålogginger er avhengige av ideen om offentlig nøkkelkryptering. Det vil ta oss for langt å forklare forviklingene, men vi skal prøve å male et enkelt bilde av hva som skjer bak kulissene.
I prosessen nedenfor genererer klientdatamaskinen to nøkler: en offentlig nøkkel og en privat nøkkel. Den generelle ideen er at du kan kryptere data med den offentlige nøkkelen, men bare dekryptere dem med den private nøkkelen. Vi legger den offentlige nøkkelen på serveren og ber den kryptere all utgående kommunikasjon med den. Dette sikrer at bare de klientene med den private nøkkelen kan dekryptere og lese dataene.
1. Installer OpenSSH
Først skal vi sette opp en SSH-server ved å bruke OpenSSH. Hvis du allerede har en SSH-server i gang og bare vil vite hvordan du setter opp nøkkelbasert autentisering, kan du hoppe over dette trinnet. Bruk din favorittpakkebehandler for å installere OpenSSH-serverapplikasjonen. Den enkleste måten kan fortsatt være å kjøre apt-get kommando fra terminalen.
sudo apt-get install openssh-server
Skriv inn passordet ditt, bekreft og vent et minutt til det er ferdig installert. Gratulerer, du har nå en SSH-server. (Det var lett!)

Du kan enten bruke applikasjonen som den er, eller redigere /etc/ssh/sshd_config
for å konfigurere den. Kjør mann sshd_config
kommando i Terminal for å få mer informasjon. En annen flott ressurs for å lære mer om OpenSSH er den relevante hjelpesiden for Ubuntu.
2. Generer nøkler
Vi genererer et sett med nøkler. Kjør følgende kommandoer (tilpasset fra ÅpneSSH/nøkler Ubuntu hjelpeside).
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
Den første kommandoen oppretter en skjult katalog '.ssh' i hjemmemappen din, den andre kommandoen endrer tilgangstillatelsene til mappen mens den tredje kommandoen faktisk genererer et sett med RSA nøkler. Du vil først bli bedt om en plassering for å lagre nøklene (la tom og trykk enter for å lagre på standardplasseringen) og deretter for en passordfrase.

Denne passordfrasen krypterer ytterligere den private nøkkelen som er lagret på datamaskinen din, og gir deg i hovedsak mer tid til å sikre SSH-serveren hvis den private nøkkelen din noen gang blir stjålet. Pass på at du velger en passordfrase du kan huske, siden du må skrive den inn når du prøver å bruke nøkkelen.
3. Overfør den offentlige nøkkelen
Deretter må du overføre den offentlige nøkkelen du genererte i forrige trinn til SSH-serverdatamaskinen. Hvis klientmaskinen din også kjører Linux, kan dette oppnås veldig enkelt ved å kjøre kommandoen nedenfor (erstatte
ssh-copy-id @
Hvis klienten din ikke støtter kommandoen ssh-copy-id, kan du bruke kommandoen nedenfor i stedet. Det er litt mer kronglete, men oppnår i hovedsak de samme resultatene.
katt ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; katt >> ~/.ssh/authorized_keys"
Du blir bedt om å skrive inn brukerpassordet for SSH-serveren. Hvis kommandoene kjøres uten feil, vil den offentlige nøkkelen din ha blitt kopiert til serveren.
4. Deaktiver passordautentisering
Legg merke til at systemet ditt fortsatt ikke er sikrere enn etter trinn én. Selv om minst én klient er konfigurert til å bruke nøkkelbasert autentisering, gir dette fortsatt rom for andre klienter å koble til med et passord. For å fullføre vil vi deaktivere passordautentisering helt. Etter dette trinnet, kun datamaskiner som har gått gjennom prosessen ovenfor kan koble til SSH-serveren din.
For å deaktivere passordautentisering, rediger /etc/ssh/sshd_config
fil i favorittredigeringsprogrammet ditt. En av de enkleste måtene å redigere en begrenset fil på er igjen å bruke Terminal. (Jeg er delvis til nano, men du kan bruke det du er mest komfortabel med.)
sudo nano /etc/ssh/sshd_config
Omtrent 40 linjer fra bunnen av filen finner du
#PassordAutentisering ja
Fjern talltegnet (#) og endre innstillingen til "nei", som nedenfor.
Passordautentiseringsnr
Den endelige filen skal se omtrent slik ut:

Lagre filen ved å trykke CTRL+X. Bekreft redigeringen og filnavnet, og du er nesten ferdig. Bare start SSH-serveren på nytt for å kjøre den med disse nye innstillingene.
sudo restart ssh
Du vil også legge merke til at klienten din slutter å be om passordfrasen for å dekryptere nøkkelen din hvis passordautentisering er deaktivert på serveren. Nå som du har en sikker SSH-server, hvordan har du tenkt å bruke den? Som en sikker filserver, et eksternt skall, eller for å videresende andre tjenester over SSH? Gi oss beskjed i kommentarfeltet nedenfor!
Bildekreditt: Shutterstock
Jeg er en forfatter og informatikkstudent fra Belgia. Du kan alltid gjøre meg en tjeneste med en god artikkelide, bokanbefaling eller oppskriftside.