Sådan godkendes over SSH med nøgler i stedet for adgangskoder

  • Michael Cain
  • 0
  • 4912
  • 1559
Reklame

SSH er en fantastisk måde at få fjernadgang til din computer. Ligesom FTP kan du oprette forbindelse via SSH FTP Hvad SSH er & hvordan det er forskelligt fra FTP [Teknologi forklaret] Hvad SSH er & hvordan det er forskelligt fra FTP [Teknologi forklaret] for at få sikker adgang til en filserver med din foretrukne FTP-klient Master FTP-filoverførsler på alle dine sider med FileZilla Master FTP-filoverførsler på alle dine sider med FileZilla Et stort antal gamle FTP-klienter havde hik, når det gjaldt store filoverførsler. Apps oplevede de sædvanlige time-outs, som du kunne forvente, når computeren sidder der i 15 til ..., får hurtig adgang til eksterne filer eller endda montering af en netværksdisk til din computer. Men der er mere ved SSH end ekstern filadgang. Ved at logge ind via SSH i Terminal (eller bruge PuTTY på Windows) giver du adgang til ekstern shell (når alt kommer til alt er SSH en forkortelse for Secure SHell). Det er sådan jeg styrer min medieserver på afstand.

Når du åbner porte, hvad er portvideresendelse og hvordan kan det hjælpe mig? [MakeUseOf Explains] Hvad er portvideresendelse og hvordan kan det hjælpe mig? [MakeUseOf Explains] Græder du lidt indeni, når nogen fortæller dig, at der er et problem til portvideresendelse af havn, og det er grunden til, at din skinnende nye app ikke fungerer? Din Xbox lader dig ikke spille spil, dine torrent-downloads nægter ... på din router (port 22 for at være nøjagtig) kan du ikke kun få adgang til din SSH-server fra dit lokale netværk, men hvor som helst i verden.

Du ønsker dog ikke at 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 let at konfigurere din globale SSH-server på en meget sikker måde ved at bruge nøglebaseret autentificering og deaktivere adgangskodegodkendelse på din server helt.

Er dette for mig?

Det er fristende at vokse slapt med personlig sikkerhed. Hvis du bruger serveren til private måder, kan du tænke, at folk simpelthen ikke ved om din server og derfor ikke vil prøve at hacke den - sikkerhed gennem uklarhed. Det ville være en meget forkert antagelse. Fordi (de fleste) SSH-trafik transmitteres på port 22, kontrollerer angribere rutinemæssigt synligheden af ​​port 22 på tilfældige IP-adresser, efterfulgt af et brute force-angreb. Dette er en af ​​måderne, hvorpå botnet bruges til brug i DDOS-angreb. Hvad er et DDoS-angreb? [MakeUseOf Explains] Hvad er et DDoS-angreb? [MakeUseOf Explains] Udtrykket DDoS fløjter forbi, når cyberaktivisme stiger hovedet masse. Denne form for angreb giver internationale overskrifter på grund af flere grunde. De spørgsmål, der starter disse DDoS-angreb, er ofte kontroversielle eller meget ... .

For at gøre en lang historie kort: Hvis du sender din SSH-server over internettet (dvs. fremadgående port 22), så ja, dette er for dig.

Ideen om nøglebaserede SSH-login

Nøglebaserede SSH-logins er afhængige af ideen om offentlig nøglekryptografi. Det vil 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 herunder 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, og bare vil vide, hvordan du indstiller nøglebaseret godkendelse, kan du springe dette trin over. Brug din foretrukne pakkemanager 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 øjeblik på, at den er færdig med installationen. Tillykke, du har nu en SSH-server. (Det var let!)

Du kan enten bruge applikationen som den er eller redigere / Etc / ssh / sshd_config for at konfigurere det. Kør mand sshd_config kommando i Terminal for at få mere information. En anden stor 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 / Keys Ubuntu Help-side).

mkdir ~ / .ssh
chmod 700 ~ / .ssh
ssh-keygen-t rsa

Den første kommando opretter et skjult bibliotek '.ssh' i din hjemmemappe, den anden kommando ændrer mappens adgangstilladelser, mens den tredje kommando faktisk genererer et sæt RSA-nøgler. Du bliver først bedt om et sted for at gemme tasterne (lad være tomme og tryk på Enter for at gemme i standardplacering) og derefter for en adgangskode.

Denne adgangssætning krypterer den private nøgle, der er gemt på din computer, yderligere, hvilket giver dig mere tid til at sikre SSH-serveren, hvis din private nøgle nogensinde er 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

Derefter 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 let ved at køre kommandoen nedenfor (erstatte og bruge brugernavnet og IP-adressen på din SSH-server).

ssh-copy-id @

Hvis din klient ikke understøtter kommandoen ssh-copy-id, kan du i stedet bruge nedenstående kommando. Det er lidt mere indviklet, men opnår i det væsentlige de samme resultater.

cat ~ / .ssh / id_rsa.pub | ssh @ "mkdir ~ / .ssh; kat >> ~ / .ssh / autoriserede_taster"

Du bliver bedt om at indtaste brugeradgangskoden til SSH-serveren. Hvis kommandoerne udføres uden fejl, er din offentlige nøgle blevet kopieret til serveren.

4. Deaktiver adgangskodeautentificering

Bemærk, at dit system stadig ikke er mere sikkert end efter trin et. Selvom mindst en klient er konfigureret til at bruge nøglebaseret godkendelse, giver dette stadig plads til andre klienter til at oprette forbindelse til et kodeord. For at afslutte deaktiverer vi adgangskodegodkendelse helt. Efter dette trin, kun computere, der har gennemgået ovennævnte proces, kan oprette forbindelse til din SSH-server.

For at deaktivere adgangskodegodkendelse skal du redigere / Etc / ssh / sshd_config fil i din yndlingseditor. En af de nemmeste måder at redigere en begrænset fil er igen ved hjælp af Terminal. (Jeg er delvis nano, men du kan bruge det, du er mest godt tilpas med.)

sudo nano / etc / ssh / sshd_config

Cirka 40 linjer fra bunden af ​​filen finder du

#PasswordAuthentication ja

Fjern nummertegnet (#), og skift indstillingen til 'nej' som nedenfor.

PasswordAuthentication nr

Den endelige fil skal se sådan ud:

Gem filen ved at trykke på CTRL + X. Bekræft redigeringen og filnavnet, så er du 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 vil stoppe med at bede om adgangskoden for at dekryptere din nøgle, hvis adgangskodegodkendelse er deaktiveret på serveren. Nu hvor du har en sikker SSH-server, hvordan agter du at bruge den? Som en sikker filserver, en ekstern shell eller til at videresende andre tjenester via SSH? Fortæl os det i kommentarfeltet nedenfor!

Billedkredit: Shutterstock




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.