OpenSSH Server

Innledning

OpenSSH Er en kraftig samling av verktøy for fjernkontroll av og overføring av data mellom datamaskiner i nettverk. Du vil også lære om noen av konfigurasjonsinnstillingene som Er mulige Med OpenSSH server-programmet, og hvordan du endrer dem på Ubuntu-systemet.OpenSSH Er en fritt tilgjengelig versjon Av Secure Shell (SSH) protokollfamilien av verktøy for fjernstyring eller overføring av filer mellom datamaskiner. Tradisjonelle verktøy som brukes til å utføre disse funksjonene, for eksempel telnet eller rcp, er usikre og overfører brukerens passord i klartekst når det brukes. OpenSSH gir en server daemon og klient verktøy for å lette sikker, kryptert fjernkontroll og filoverføring operasjoner, effektivt erstatte eldre verktøy.

OpenSSH server komponent, sshd, lytter kontinuerlig for klienttilkoblinger fra noen av klient verktøy. Når det oppstår en tilkoblingsforespørsel, konfigurerer sshd riktig tilkobling avhengig av typen klientverktøy som kobler til. Hvis den eksterne datamaskinen for eksempel kobler til ssh-klientprogrammet, konfigurerer OpenSSH-serveren en fjernkontrolløkt etter godkjenning. Hvis en ekstern bruker kobler Til En OpenSSH-server med scp, Starter OpenSSH-serverdemonen en sikker kopi av filer mellom serveren og klienten etter godkjenning. OpenSSH kan bruke mange godkjenningsmetoder, inkludert vanlig passord, offentlig nøkkel og Kerberos-billetter.

Installasjon

Installasjon Av OpenSSH klient – og serverprogrammer er enkel. For å installere OpenSSH-klientprogrammene på Ubuntu-systemet, bruk denne kommandoen ved en terminalprompt:

sudo apt install openssh-client

For å installere OpenSSH-serverprogrammet og relaterte støttefiler, bruk denne kommandoen ved en terminalprompt:

sudo apt install openssh-server

Konfigurasjon

du kan konfigurere standard oppførsel Av OpenSSH-serverprogrammet, sshd, Ved Å Redigere filen /etc/ssh/sshd_config. For informasjon om konfigurasjonsdirektivene som brukes i denne filen, kan du se den aktuelle manualsiden med følgende kommando, utstedt ved en terminalprompt:

man sshd_config

det er mange direktiver i sshd-konfigurasjonsfilen som styrer slike ting som kommunikasjonsinnstillinger og godkjenningsmoduser. Følgende er eksempler på konfigurasjonsdirektiver som kan endres ved å redigere filen/etc/ssh/sshd_config.

Tips

før du redigerer konfigurasjonsfilen, bør du lage en kopi av den opprinnelige filen og beskytte den mot skriving, slik at du får de opprinnelige innstillingene som referanse og kan gjenbruke etter behov.

Kopier /etc/ssh/sshd_config filen og beskytt den mot å skrive med følgende kommandoer, utstedt ved en terminalprompt:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalsudo chmod a-w /etc/ssh/sshd_config.original

videre siden å miste en ssh-server kan bety at du mister veien for å nå en server, kontroller konfigurasjonen etter å ha endret den og før starte serveren på nytt:

sudo sshd -t -f /etc/ssh/sshd_config

følgende er eksempler på konfigurasjonsdirektiver du kan endre:

  • for å sette OpenSSH til å lytte PÅ TCP-port 2222 i stedet for standard tcp-port 22, endre Portdirektivet som sådan:

Port 2222

  • for å gjøre din openssh server vise innholdet i /etc/issue.net fil som en pre-login banner, bare legge til eller ENDRE denne linjen i /etc/ssh/sshd_config fil:

banner /etc/utgave.net

etter å ha gjort endringer i/etc/ssh/sshd_config fil, lagre filen og start sshd-serverprogrammet på nytt for å utføre endringene ved hjelp av følgende kommando ved en terminalprompt:

sudo systemctl restart sshd.service

advarsel

mange andre konfigurasjonsdirektiver for sshd er tilgjengelige for å endre serverapplikasjonens oppførsel for å passe dine behov. Vær imidlertid oppmerksom på at hvis din eneste metode for tilgang til en server er ssh, og du gjør en feil ved å konfigurere sshd via/etc/ssh/sshd_config – filen, kan du finne at du er låst ut av serveren når du starter den på nytt. I tillegg, hvis et feil konfigurasjonsdirektiv leveres, kan sshd-serveren nekte å starte, så vær ekstra forsiktig når du redigerer denne filen på en ekstern server.

SSH-Nøkler

SSH tillater godkjenning mellom to verter uten behov for et passord. SSH-nøkkelautentisering bruker en privat nøkkel og en offentlig nøkkel.

for å generere nøklene, fra en terminal prompt enter:

ssh-keygen -t rsa

dette vil generere nøklene ved HJELP AV Rsa-Algoritmen. På tidspunktet for denne skrivingen vil de genererte nøklene ha 3072 biter. Du kan endre antall biter ved å bruke alternativet -b. For eksempel, for å generere nøkler med 4096 biter, kan du gjøre:

ssh-keygen -t rsa -b 4096

Under prosessen blir du bedt om et passord. Bare trykk Enter Når du blir bedt om å opprette nøkkelen.

som standard lagres den offentlige nøkkelen i filen ~/.ssh/id_rsa.pub, mens ~/.ssh/id_rsa er den private nøkkelen. Kopier nå id_rsa.pub filen til den eksterne verten og legg den til ~/.ssh/authorized_keys ved å skrive inn:

ssh-copy-id username@remotehost

til slutt, dobbeltsjekk tillatelsene på authorized_keys fil, bare godkjente brukere bør ha lese-og skrivetillatelser. Hvis tillatelsene ikke er riktige, endre dem ved:

chmod 600 .ssh/authorized_keys

DU skal nå KUNNE SSH til verten uten å bli bedt om et passord.

Importer nøkler fra offentlige keyservere

I Disse dager har mange brukere allerede ssh-nøkler registrert med tjenester som launchpad eller github. De kan enkelt importeres med:

ssh-import-id <username-on-remote-service>

prefikset lp: er underforstått og betyr henting fra launchpad, alternativet gh: vil gjøre verktøyet hente fra github i stedet.

tofaktorautentisering MED U2F/FIDO

OpenSSH 8.2 lagt til støtte FOR U2F / FIDO maskinvare autentiseringsenheter. Disse enhetene brukes til å gi et ekstra sikkerhetslag på toppen av den eksisterende nøkkelbaserte autentiseringen, da maskinvaretokenet må være til stede for å fullføre godkjenningen.

det er veldig enkelt å bruke og sette opp. Det eneste ekstra trinnet er å generere et nytt keypair som kan brukes med maskinvareenheten. For det er det to nøkkeltyper som kan brukes: ecdsa-sk og ed25519-sk. Den tidligere har bredere maskinvarestøtte, mens sistnevnte kanskje trenger en nyere enhet.

når keypair er generert, kan den brukes som du normalt ville bruke en annen type nøkkel i openssh. Det eneste kravet er AT FOR å kunne bruke den private nøkkelen MÅ u2f-enheten være til stede på verten.

plugg FOR EKSEMPEL u2f-enheten inn og generer et keypair som skal brukes med det:

$ ssh-keygen -t ecdsa-skGenerating public/private ecdsa-sk key pair.You may need to touch your authenticator to authorize key generation. <-- touch deviceEnter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_skYour public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pubThe key fingerprint is:SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal

nå overfører du bare den offentlige delen til serveren til~/.ssh/authorized_keysog du er klar til å gå:

$ ssh -i .ssh/id_ecdsa_sk [email protected] user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- touch deviceWelcome to Ubuntu Focal Fossa (GNU/Linux 5.4.0-21-generic x86_64)(...)[email protected]:~$

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *