SSH står for Secure Shell, som er en sikkerhedsprotokol baseret på applikationslaget. Vi bruger SSH til sikker adgang til fjernservere og skriveborde til at udføre forskellige kommandoer. Kort sagt kan vi fjernstyre hele systemet, hvis vi har login-oplysninger og SSH-serveradgang. Fordi The Secure Shell (SSH) er en kryptografisk netværksprotokol designet til at erstatte Telnet og få adgang til fjernsystemet selv på den usikrede fjernshell ved at kryptere data før afsendelse.
Porten 22 bruges som standardport for SSH. Det er primært designet til UNIX-lignende systemer og kan også fungere på Windows-systemer ved at installere OpenSSH.
Traditionelle webtjenester såsom FTP, pop og telnet er i sagens natur usikre, fordi de transmitterer adgangskoder og data i klartekst over netværket, hvilket gør det nemt for personer med bagtanke at opsnappe disse adgangskoder og data.
Desuden har disse serviceprogrammers sikkerhedsverifikationsmetoder deres svagheder, det vil sige, at de er sårbare over for angreb fra en mand i midten. Den såkaldte "mellemmand"-angrebsmetode betyder, at "mellemmanden" foregiver at være en rigtig server for at modtage de data, du sender til serveren, og derefter foregiver, at du videregiver dataene til den rigtige server. Efter dataoverførslen mellem serveren og dig er blevet ændret af "mellemmanden", vil der være alvorlige problemer.
Ved at bruge SSH kan du kryptere alle transmitterede data, så "manden i midten"-angrebet er umuligt, og det kan også forhindre DNS-spoofing og IP-spoofing. Ved at bruge SSH er der en ekstra fordel, at datatransmission er komprimeret, så du kan fremskynde overførselshastigheden. SSH har mange funktioner, det kan erstatte Telnet og kan give en sikker "kanal" til FTP, PoP og endda PPP
SSH består hovedsageligt af tre dele:
Transportlagsprotokol [SSH-TRANS]
Giver servergodkendelse, fortrolighed og integritet. Derudover giver det nogle gange kompression. SSH-TRANS kører typisk på TCP/IP-forbindelser og kan også bruges på andre pålidelige datastrømme. SSH-TRANS giver kraftfuld krypteringsteknologi, adgangskodeværtsgodkendelse og integritetsbeskyttelse. Godkendelsen i denne protokol er baseret på værten, og protokollen udfører ikke brugergodkendelse. Højere lag brugergodkendelsesprotokoller kan designes til at være oven på denne protokol.
Brugergodkendelsesprotokol [SSH-USERAUTH]
Bruges til at give klientbrugergodkendelse til serveren. Den kører i transportlagsprotokollen SSH-TRANS ovenfor. Når SSH-USERAUTH starter, modtager den sessionsidentifikatoren fra protokollen for det nederste lag (fra udvekslings-hashen H i den første nøgleudveksling). Sessionsidentifikatoren identificerer entydigt denne session og gælder for tokenet for at bevise ejerskabet af den private nøgle. SSH-USERAUTH skal også vide, om protokollen for det nederste lag giver privatlivsbeskyttelse.
Forbindelsesprotokol [SSH-CONNECT]
Den kører på brugergodkendelsesprotokollen for at give interaktive login-sessioner, fjernkommandoudførelse, videresendelse af TCP/IP-forbindelser og videresendelse af X11-forbindelser.
SSH-sikkerhedsverifikationsniveauer på klientsiden
Fra klientsiden giver SSH to niveauer af sikkerhedsverifikation.
Det første niveau (adgangskodebaseret sikkerhedsbekræftelse)
Så længe du kender din konto og adgangskode, kan du logge ind på fjernværten. Alle transmitterede data vil blive krypteret, men kan ikke garantere, at du opretter forbindelse til en server, som du ønsker at forbinde. Der kan være andre servere, der udgiver sig for at være rigtige servere, dvs. bliver angrebet af "mellemmand".
Det andet niveau (nøglebaseret sikkerhedsverifikation)
Du skal stole på nøglen, hvilket betyder, at du skal oprette et par nøgler til dig selv og lægge den offentlige nøgle på den server, du skal have adgang til. Hvis du opretter forbindelse til en SSH-server, sender klientsoftwaren en anmodning til serveren om sikkerhedsverifikation med din nøgle. Når serveren har modtaget anmodningen, skal du kigge efter din offentlige nøgle i din hjemmemappe på serveren og sammenligne den med den offentlige nøgle, du sendte. Hvis de to nøgler matcher, krypterer serveren "udfordringen" med den offentlige nøgle og sender den til klientsoftwaren. Efter at klientsoftwaren har modtaget "udfordringen", kan den dekryptere den med din private nøgle og sende den til serveren.
På denne måde skal du kende din nøgles adgangskode. Det andet niveau kræver dog ikke, at en adgangskode sendes over netværket sammenlignet med det første niveau.
Det andet niveau krypterer ikke kun alle overførte data, men "mellemmand"-angrebet er også umuligt (fordi han ikke har din private nøgle). Men hele login-processen kan tage et par sekunder.
SSH er sammensat af klient- og serversoftware.
Der er to inkompatible versioner af SSH: 1.x og 2.x. Klienter, der bruger SSH 2.x, kan ikke oprette forbindelse til SSH 1.x-serveren. OpenSSH 2.x understøtter både SSH 1.x og 2.x.
Serveren er en dæmon, der kører i baggrunden og reagerer på forbindelsesanmodninger fra klienter. Serveren er generelt en SSHD-proces, der giver håndtering af fjernforbindelser, typisk inklusive offentlig nøglegodkendelse, nøgleudveksling, symmetrisk nøglekryptering og ikke-sikre forbindelser.
Klienten inkluderer ssh-programmer og andre applikationer som SCP (fjernkopiering), slogin (fjernlogin), sftp (sikker filoverførsel).
Deres arbejdsmekanisme er groft sagt, at den lokale klient sender en forbindelsesanmodning til fjernserveren. Serveren kontrollerer den anmodede pakke og IP-adresse og sender derefter nøglen til SSH-klienten og sender derefter nøglen tilbage til serveren. Forbindelsen har været etableret siden da. Der er nogle forskelle i forbindelsesprotokollen mellem SSH 1.x og SSH 2.x.
Når en sikker transportlagsforbindelse er etableret, sender klienten en serviceanmodning. Når brugergodkendelsen er fuldført, sendes en anden serviceanmodning. Dette gør det muligt for den nyligt definerede protokol at sameksistere med ovenstående protokol. Forbindelsesprotokoller giver en bred vifte af kanaler til brug med standardmetoder til etablering af sikre interaktive sessionsskaller og videresendelse ("tunnelteknologi") proprietære TCP/IP-porte og X11-forbindelser.
SSH er designet til at fungere på egen hånd uden at udnytte superserveren ( inetd ), selvom SSH-processen kan køres via tcpd på inetd, men dette er helt unødvendigt. Efter at have startet SSH-serveren, kører sshd op og lytter på standard 22-porten (du kan bruge # ps -waux | grep sshd for at se, om sshd kører korrekt). Hvis det ikke er SSH startet af inetd, vil SSH altid vente på en forbindelsesanmodning. Når anmodningen kommer ind, vil SSH-dæmonen generere en underordnet proces, som udfører forbindelsesbehandlingen
SSH er også designet til at erstatte Berkeley-versionen af r-kommandosættet; det arver også en lignende syntaks. Som følge heraf bemærker brugeren ikke forskellen mellem at bruge SSH og kommandosættet r. Med den kan du lave nogle fede ting. Ved at bruge SSH behøver du ikke bekymre dig, når du sender beskeder over et usikkert netværk. Du kan også bruge Telnet og POP-kanaltilstand, den kan bruges af SSH PPP til at oprette et virtuelt privat netværk (Virtual Private Network, kanal VPN). SSH understøtter også nogle andre godkendelsesmetoder, såsom Kerberos og sikre ID-kort.
På grund af copyright og krypteringsalgoritmer forventes det dog, at flere og flere vil bruge SSH i stedet for Telnet eller POP3 i fremtiden.
Du må gerne se:







![[Ret] Drev, der vises to gange i navigationsruden i Windows 10 Explorer "Denne pc"](https://media.askvg.com/articles/images5/Hard_Disk_Drives_Twice_This_PC_Windows_10.png)





