Reklame
SSH er en fantastisk måde at få fjernadgang til din computer. I lighed med FTP kan du oprette forbindelse over SSH FTP Hvad SSH er og hvordan det er forskelligt fra FTP [Teknologi forklaret] Læs mere for at få sikker adgang til en filserver med din favorit FTP klient Master FTP-filoverførsler på alle dine websteder med FileZillaEt stort antal gamle FTP-klienter havde hikke, når det kom til store filoverførsler. Apps oplevede de sædvanlige timeouts, som du ville forvente, når computeren sidder der i 15 til... Læs mere , hurtig adgang til fjernfiler eller endda montere en netværksdisk på din computer. Men der er mere til SSH end fjernadgang til filer. Log ind over SSH i Terminal (eller ved hjælp af PuTTY på Windows) giver dig ekstern shell-adgang (trods alt er SSH en forkortelse for Secure SHell). Det er sådan, jeg administrerer min medieserver på afstand.
Når du åbne portene Hvad er Port Forwarding, og hvordan kan det hjælpe mig? [MakeUseOf forklarer]Græder du lidt indeni, når nogen fortæller dig, at der er et portvideresendelsesproblem, og det er derfor, din skinnende nye app ikke virker? Din Xbox lader dig ikke spille spil, dine torrent-downloads nægter... Læs mere på din router (port 22 for at være præcis) kan du ikke kun få adgang til din SSH-server fra dit lokale netværk, men fra hvor som helst i verden.
Du vil dog ikke risikere at bruge en svag adgangskode til godkendelse. Hvis nogen får adgang til din computer via SSH, får de fuldstændig shell-adgang. Bare for at være klar, det er ikke noget, vi ønsker. Heldigvis er det meget nemt at konfigurere din globale SSH-server på en meget sikker måde ved at bruge nøglebaseret godkendelse og helt deaktivere adgangskodegodkendelse på din server.
Er dette til mig?
Det er fristende at blive slap med personlig sikkerhed. Hvis du bruger serveren til private midler, tror du måske, at folk simpelthen ikke kender til din server og derfor ikke vil forsøge at hacke den - sikkerhed gennem uklarhed. Det ville være en meget forkert antagelse. Fordi (det meste) SSH-trafik transmitteres på port 22, tjekker angribere rutinemæssigt synligheden af port 22 på tilfældige IP-adresser, efterfulgt af et brute force-angreb. Dette er en af de måder, botnets er lavet til brug i DDOS angreb Hvad er et DDoS-angreb? [MakeUseOf forklarer]Udtrykket DDoS fløjter forbi, hver gang cyber-aktivisme rejser hovedet i massevis. Denne form for angreb skaber internationale overskrifter på grund af flere årsager. De problemer, der kickstarter disse DDoS-angreb, er ofte kontroversielle eller meget... Læs mere .
For at gøre en lang historie kort: Hvis du udsender din SSH-server over internettet (dvs. forward port 22), så ja, det er noget for dig.
Idéen med nøglebaserede SSH-log-ins
Nøglebaserede SSH-login er afhængige af ideen om offentlig nøglekryptering. Det ville tage os for langt at forklare forviklingerne, men vi vil prøve at male et simpelt billede af, hvad der foregår bag kulisserne.
I processen nedenfor genererer din klientcomputer to nøgler: en offentlig nøgle og en privat nøgle. Den generelle idé er, at du kan kryptere data med den offentlige nøgle, men kun dekryptere dem med den private nøgle. Vi lægger den offentlige nøgle på serveren og beder den om at kryptere al udgående kommunikation med den. Dette sikrer, at kun de klienter med den private nøgle kan dekryptere og læse dataene.
1. Installer OpenSSH
Først skal vi konfigurere en SSH-server ved hjælp af OpenSSH. Hvis du allerede har en SSH-server kørende og bare vil vide, hvordan du opsætter nøglebaseret godkendelse, kan du springe dette trin over. Brug din foretrukne pakkehåndtering til at installere OpenSSH-serverapplikationen. Den enkleste måde kan stadig være at køre apt-get kommando fra terminalen.
sudo apt-get install openssh-server
Indtast din adgangskode, bekræft og vent et minut på, at installationen er færdig. Tillykke, du har nu en SSH-server. (Det var nemt!)

Du kan enten bruge applikationen, som den er, eller redigere /etc/ssh/sshd_config
at konfigurere det. Kør mand sshd_config
kommando i Terminal for at få flere oplysninger. En anden god ressource til at lære mere om OpenSSH er den relevante Ubuntu-hjælpeside.
2. Generer nøgler
Vi genererer et sæt nøgler. Kør følgende kommandoer (tilpasset fra OpenSSH/nøgler Ubuntu Hjælp side).
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
Den første kommando opretter en skjult mappe '.ssh' i din hjemmemappe, den anden kommando ændrer mappens adgangstilladelser, mens den tredje kommando faktisk genererer et sæt af RSA nøgler. Du bliver først bedt om en placering til at gemme nøglerne (lad tom, og tryk på Enter for at gemme på standardplaceringen) og dernæst for en adgangssætning.

Denne adgangssætning krypterer yderligere den private nøgle, der er gemt på din computer, hvilket i det væsentlige giver dig mere tid til at sikre SSH-serveren, hvis din private nøgle nogensinde bliver stjålet. Sørg for at vælge en adgangssætning, du kan huske, da du skal indtaste den, når du prøver at bruge din nøgle.
3. Overfør den offentlige nøgle
Dernæst skal du overføre den offentlige nøgle, du genererede i det forrige trin, til SSH-servercomputeren. Hvis din klientmaskine også kører Linux, kan dette opnås meget nemt ved at køre nedenstående kommando (erstatning
ssh-copy-id @
Hvis din klient ikke understøtter kommandoen ssh-copy-id, kan du bruge nedenstående kommando i stedet. Det er lidt mere indviklet, men opnår i det væsentlige de samme resultater.
kat ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; kat >> ~/.ssh/authorized_keys"
Du bliver bedt om at indtaste brugeradgangskoden til SSH-serveren. Hvis kommandoerne udføres uden fejl, vil din offentlige nøgle være blevet kopieret til serveren.
4. Deaktiver adgangskodegodkendelse
Bemærk, at dit system stadig ikke er mere sikkert end efter trin et. Selvom mindst én klient er konfigureret til at bruge nøglebaseret godkendelse, giver dette stadig plads til, at andre klienter kan oprette forbindelse med en adgangskode. For at afslutte deaktiverer vi adgangskodegodkendelse helt. Efter dette trin, kun computere, der har gennemgået ovenstående proces, kan oprette forbindelse til din SSH-server.
For at deaktivere adgangskodegodkendelse skal du redigere /etc/ssh/sshd_config
fil i din foretrukne editor. En af de nemmeste måder at redigere en begrænset fil på er igen at bruge Terminal. (Jeg er delvis til nano, men du kan bruge hvad du er mest komfortabel med.)
sudo nano /etc/ssh/sshd_config
Cirka 40 linjer fra bunden af filen finder du
#PasswordAuthentication ja
Fjern taltegnet (#), og skift indstillingen til 'nej' som nedenfor.
Adgangskodegodkendelsesnr
Den endelige fil skulle se sådan ud:

Gem filen ved at trykke på CTRL+X. Bekræft redigeringen og filnavnet, og du er næsten færdig. Genstart bare SSH-serveren for at køre den med disse nye indstillinger.
sudo genstart ssh
Du vil også bemærke, at din klient holder op med at bede om adgangssætningen til at dekryptere din nøgle, hvis adgangskodegodkendelse er deaktiveret på serveren. Nu hvor du har en sikker SSH-server, hvordan har du tænkt dig at bruge den? Som en sikker filserver, en ekstern shell eller til at videresende andre tjenester over SSH? Fortæl os det i kommentarfeltet nedenfor!
Billedkredit: Shutterstock
Jeg er forfatter og computervidenskabsstuderende fra Belgien. Du kan altid gøre mig en tjeneste med en god artikelidé, boganbefaling eller opskriftsidé.