Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit (LØST)

Spørgsmål eller problemer med kablet netværk, trådløst netværk, netværkshåndteringen eller andet som vedrører netværk.
Spotten
Indlæg: 2135
Tilmeldt: 19. okt 2007, 18:13
IRC nickname: Sp0t
Geografisk sted: Jamaica

Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit (LØST)

Indlæg af Spotten »

Hej.

Jeg har en SSH server, og har siddet og kigget lidt på SSH nøgler, men forstår ikke helt hvordan man bruger dem, opsætningen er forholdsvis let nok, der går jeg ned i "Programmer/Tilbehør/Kodeord og krypteringsnøgler", derinde opretter jeg en SSH nøgle, og bagefter kan jeg vælge "Eksportér nøgle fuldstændig", som jeg så vælger for at sende nøglen til min kæreste som jeg ønsker skal kunne tilgå min SSH server med denne nøgle, MEN er det overhovedet det SSH nøglerne er til?

Jeg er lidt i tvivl om hvordan jeg får det sat op så det virker med brug af SSH nøgler, f.eks når min kæreste henter fra min SSH server, så ville jeg gerne sikre mig det KUN er folk som er godkendte, dem som har MIN SSH nøgle, der får adgang, MEN er dette så den korrekte måde at gøre det på?

Hun bruger SFTP (FileZilla) til at forbinde med. Måske det kan sættes op derinde et sted, til at håndtere disse SSH nøgler.

På forhånd tak.
Senest rettet af Spotten 3. apr 2010, 05:40, rettet i alt 1 gang.
MB : Asus Sabertooth Z77
CPU : Intel Core I7 2600K+ 3,4GHz 8Mb L3
RAM : 4x4GB Corsair DDR3 1600MHz
HDD : LAGER : 1x1TB WD Extern USB 7200rpm + SYSTEM 1 x 180GB Corsair Force 3 Series SSD SATA6 550MB/sek
GFX : MSI 7900GT 512MB GDDR3 (Passivt Kølet)
Case : Lian Li PC-V1100 Plus
PSU : Corsair Professionel Series Gold AX1200
OS: Ubuntu 18.01LTS 64bit
Spotten
Indlæg: 2135
Tilmeldt: 19. okt 2007, 18:13
IRC nickname: Sp0t
Geografisk sted: Jamaica

Re: Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit

Indlæg af Spotten »

Jeg prøver igen..

Jeg starter med at installere openssh-client og openssh-server på min maskine.

På samme maskine åbner jeg så en terminal og skriver ssh IPadresse, så spørger den ang. en RSA nøgle, hvor jeg kan vælge "yes" eller "no", der vælger jeg selvfølgelig "yes".

Så ser det ud til jeg er logget ind, og jeg logger igen ud.

Jeg har så en anden bruger (min kæreste) som har sin egen bruger på samme maskine som også skal kunne tilgå den via SSH.

Når hun forbinder til min IPadresse, så får hun også en RSA nøgle og kan også trykke "yes" eller "no" og vælger selvfølgelig "yes".

Hvis hun så forbinder via STP (FileZilla), så kommer den også med denne RSA nøgle, men er det den samme både hun og jeg selv får eller hvordan hænger det sammen?

Jeg kan se i "Programmer/Tilbehør/Kodeord og krypteringsnøgler", at man kan lave sine egne PGP og SSH nøgler, men jeg forstår ikke helt hvordan man bruger dem, fordi hvis jeg laver en SSH nøgle f.eks på min SSH maskine, og så vil have denne nøgle på min bærbar også og laver en fuldstændig eksportering af denne, så vil den ikke rigtigt ind når jeg smider den på min anden maskine og prøver at importere den via "Kodeord og krypteringsnøgler".

Er der nogen der er venlige at sætte mig en lille smule ind i hvordan det hænger sammen med SSH og RSA nøgler?

Vil gerne have sikkerheden i top, ved dog ikke så meget om SSH og RSA nøgler selv.

På forhånd tak.
MB : Asus Sabertooth Z77
CPU : Intel Core I7 2600K+ 3,4GHz 8Mb L3
RAM : 4x4GB Corsair DDR3 1600MHz
HDD : LAGER : 1x1TB WD Extern USB 7200rpm + SYSTEM 1 x 180GB Corsair Force 3 Series SSD SATA6 550MB/sek
GFX : MSI 7900GT 512MB GDDR3 (Passivt Kølet)
Case : Lian Li PC-V1100 Plus
PSU : Corsair Professionel Series Gold AX1200
OS: Ubuntu 18.01LTS 64bit
soundpartner
Indlæg: 3461
Tilmeldt: 27. sep 2008, 23:51
IRC nickname: sound
Geografisk sted: København

Re: Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit

Indlæg af soundpartner »

jeg er ikke lige helt sikker på det du skriver, men det lyder helt forkert i mine øre.
Jeg er ikke den store guru på ssh-nøgler, men her er hvordan JEG gør det.
Da ssh er ret terminalbaseret i forvejen, så bruger jeg terminalen hele vejen.

til at starte med så skal hver bruger have genereret en nøgle.
jeg har personligt valgt at have unike nøgler til alle personer samt placeringer. dette betyder at jeg på min eee har en anden nøgle end på min stationære osv. Da jeg har en del maskiner (2x eee900, 1x eee1000, 1x eeetop, 1x eeebox, 2x stationære og 3x bærbare) bliver det til at jeg har 10 personlige ssh-nøgler, og andre folk med flere maskiner har ligeledes en nøgle for hver maskine. der er fordele og ulemper ved dette. en af de store fordele er at hvis jeg eller en anden mister en maskine (bliver stjålet, eller selv skiller sig af med den) så er det nemt at slette denne ene unike nøgle, og sikkerheden består stadig. hvis jeg havde samme nøgle på alle maskiner og en af dem bliver kompromiteret ja så er det forbindelsen fra alle maskiner der bliver påvirket.
en af de negative ting er så at der kommer til at være et par nøgler at holde styr på på serveren, men det er til at leve med.

ok i gang med arbejdet.

først skal der genereres en nøgle. dette gøres i terminalen med følgende:

Kode: Vælg alt

ssh-keygen -t dsa

du giver nøglen et navn samt en et password.
personligt navngiver jeg mine nøgler således at jeg kan se hvor de er lavet (på hvilken maskine samt hvilken bruger)
som password bruger jeg noget andet end selve brugerens password, men det er en smagssag. man kan vælge helt at undlade password, men så skal man huske at en hver med den nøgle potentielt kan få adgang (hvis de da ellers kender det rigtige brugernavn og adressen til din server)

nu skal nøglen så overføres til serveren. det kan gøres manuelt eller det kan gøres via scp.
personligt så scp'er jeg nøglen ind med følgende:

Kode: Vælg alt

scp .ssh/key.pub bruger@server:./.ssh/key.pub

hvor key.pub er navnet på min nøgle (f.eks. key-mic-eee900.pub) sammensat efter at det er en key, mit navn (michael) og min makine (eee900)
bruger er så mit brugernavn (soundpartner)
server er serveren på ipadresse eller via url så i dette tilfælde kunne det blive

Kode: Vælg alt

 scp .ssh/key-mic-eee900.pub soundpartner@soundpartner.linux.dk:./.ssh/key-mic-eee900.pub
for at scp'e min nøgle til min webserver.

vær forresten opmærksom på at jeg ikke endnu har slået login med kode fra

nu ligger key'en så fint på serveren, og den skal aktiveres. dette gøres ved at logge ind på serveren

Kode: Vælg alt

ssh bruger@server 

og herinde skal nøglen så tilføjes til de autoriserede nøgler, og kan derefter slettes med følgende:

Kode: Vælg alt

cat .ssh/key.pub >> .ssh/authorized_keys && rm key.pub

nu er nøglen "aktiveret" og vi kan slå login med password fra ved som superbruger at editere i /etc/ssh/sshd_config

Kode: Vælg alt

sudo nano /etc/ssh/sshd_config

og ændrer
PasswordAuthentication yes
UsePAM yes
til
PasswordAuthentication no
UsePAM no
det er nu for fremtiden kun muligt at loogge ind hvis man har en ssh-nøgle
personligt gør jeg det når jeg skal tilføje nye brugere/nye nøgler at jeg midlertidigt slår login med kode til, tilføjer nøglen efter ovenstående og så slår login med kode fra igen

du skal dog huske en ting. Nu ved jeg ikke hvor meget du bruger ssh, men der er ingen tvivl om at sikkerheden er større ved at bruge ssh-nøgler, men det indeholder også en masse problemer. med en nøgle (og hvis du slår login med password fra) så er det KUN hvis du har den rette nøgle (som er listet i brugerens .ssh/authorized_keys ) man kan logge ind. dette betyder at det er slut med at side på en lånt computer og så ssh'e ind til din server.

så hvis det er sikkerhed over alt, så er det ovenstående der er det smarte. hvis det er fleksibilitet så gør jeg følgende: laver en bruger med en LANG og seriøs kode på ca 15-20 tegn med både STore og smÅ BOgsT4ver, tegn%# 0g ta1 (totalt teenager sms-sprog) jeg laver der ud over en ssh-key som har en meget kort kode. ideer er at
er du på din egen maskine kan du nemt ssh'e ind til serveren, og du skal bare huske den korte kode. den korte kode er egentlig kun for syns skyld, og for lige at skille bukkene fra fårene. laver du en nøgle uden kode og bruger filezilla kan en evt tyv/ubuden person ved tastaturet få adgang på 2 sek, med en kort kode (f.eks 3 tegn) tager det lige et par min at komme igennem og det er nok til at skræmme de værste væk. koden er ikke som sådan for sikkerhed, for det sørger nøglen jo for.
er du på en anden maskine har du stadig muligheden for at logge ind på serveren, men dette kræver så at du kan huske (og indtaster) den lange og besværlige kode

opsummering.
for at bruge ssh-keys skal du
1: generere en key med

Kode: Vælg alt

ssh-keygen -t dsa

2: nøglen består af en privat del og en offentlig del. den private skal ligge på maskinen, og
den offentlige (ender på .pub) skal overføres til serveren og tilføjes til authorized_keys.
3: - PROFIT -
Selvudnævnt guru når det drejer sig om mobilt bredbånd

Webmaster og stifter af:
Billede
Hvor du finder scripts til en hver situation

Billede
Spotten
Indlæg: 2135
Tilmeldt: 19. okt 2007, 18:13
IRC nickname: Sp0t
Geografisk sted: Jamaica

Re: Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit

Indlæg af Spotten »

Det eneste jeg ikke helt forstod var "3: -PROFIT-?

Jeg prøver at forklare hvad det er jeg vil på en lidt anderledes måde.

Jeg har en SSH maskine, den skal kunne tilgåes af de brugere der eksitere på den, samt tilgåes fra alle computere der kender brugernavn samt password. Udover dette, vil jeg gerne have de har deres egen SSH nøgle hver især, så hvis f.eks jørgen gætter niels password og bruger, kan han ikke logge ind uden hans nøgle også, også selvom han har kode og brugernavn.

Ved ikke om det kan lade sig gøre? Men det er sådan jeg har forstået det burde virke ud fra det jeg har læst om SSH.

Jeg kan godt tilgå min maskine med brugernavn og SSH nøgle. Den spørger om den der logger ind vil acceptere nøglen når man logger ind, det er det, men jeg forstår ikke helt hvad det er den præcist gør?

Uddeler den bare en "dekrypteringsnøgle" til de filer mine brugere henter? Så de kan dekryptere den krypterede data når den bliver overført? Dvs. det må være den omtalte .pub key?

Jeg forstår bare ikke helt det med den funktion som ligger i Ubuntu 9.10, "Kodeord og krypteringsnøgler", er det til at oprette SSH nøgler for klienter, eller server?

På forhånd tak og undskyld hvis jeg ikke har fået forklaret mig ordentligt.
MB : Asus Sabertooth Z77
CPU : Intel Core I7 2600K+ 3,4GHz 8Mb L3
RAM : 4x4GB Corsair DDR3 1600MHz
HDD : LAGER : 1x1TB WD Extern USB 7200rpm + SYSTEM 1 x 180GB Corsair Force 3 Series SSD SATA6 550MB/sek
GFX : MSI 7900GT 512MB GDDR3 (Passivt Kølet)
Case : Lian Li PC-V1100 Plus
PSU : Corsair Professionel Series Gold AX1200
OS: Ubuntu 18.01LTS 64bit
soundpartner
Indlæg: 3461
Tilmeldt: 27. sep 2008, 23:51
IRC nickname: sound
Geografisk sted: København

Re: Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit

Indlæg af soundpartner »

Spotten skrev:Det eneste jeg ikke helt forstod var "3: -PROFIT-?

Jeg prøver at forklare hvad det er jeg vil på en lidt anderledes måde.

Jeg har en SSH maskine, den skal kunne tilgåes af de brugere der eksitere på den, samt tilgåes fra alle computere der kender brugernavn samt password. Udover dette, vil jeg gerne have de har deres egen SSH nøgle hver især, så hvis f.eks jørgen gætter niels password og bruger, kan han ikke logge ind uden hans nøgle også, også selvom han har kode og brugernavn.

Ved ikke om det kan lade sig gøre? Men det er sådan jeg har forstået det burde virke ud fra det jeg har læst om SSH.

Jeg kan godt tilgå min maskine med brugernavn og SSH nøgle. Den spørger om den der logger ind vil acceptere nøglen når man logger ind, det er det, men jeg forstår ikke helt hvad det er den præcist gør?

Uddeler den bare en "dekrypteringsnøgle" til de filer mine brugere henter? Så de kan dekryptere den krypterede data når den bliver overført? Dvs. det må være den omtalte .pub key?

Jeg forstår bare ikke helt det med den funktion som ligger i Ubuntu 9.10, "Kodeord og krypteringsnøgler", er det til at oprette SSH nøgler for klienter, eller server?

På forhånd tak og undskyld hvis jeg ikke har fået forklaret mig ordentligt.

ahh så forstår jeg hvad du mener...

den nøgle du bliver bedt om at akseptere er lige netop en krypteringsnøgle. ssh forefår over en krypteret tunnel, og den nøgle du der taler om (rsa-nøgle hvis jeg ikke husker galt) den bruges netop til dekryptering af trafikken. nøglen vil også ved første login blive arkiveret og vil fremtidigt blive brugt til at sikre dig imod at en fremmed peron opsætter en ny server og skyder denne ind imellem trafikken for at sniffe data eller lignende. kommer der en ny maskine ind (det er faktisk nok at du reinstallerer dit system) så er det en ny nøgle, og du vil blive advaret imod dette.

det du ønsker er ikke muligt.
du vil have at alle brugere har deres egen nøgle og password og derfor kan man ikke komme igennem uden både nøgle og password. Så langt så godt (det er netop det du kan med en ssh-nøgle) du skal for at kunne logge på både have det rette brugernavn, den rette nøgle samt det rette password til denne nøgle. dette forhindrer netop at niels kan stjæle jørgens brugernavn samt kode, for hvis ikke han har jørgens nøgle så kan han ikke komme ind
men dette udelukker så at man kan tilgå serveren fra lige den maskine man vil for det er nu ikke nok at have brugernavn og kode mere. man skal også have en nøgle (eller den private del af en nøgle) og hvis man slæber denne med sig rundt på alle mulige fremmede maskiner så er den jo netop blevet kompromiteret og så er den ikke privat mere. derfor vil man kun kunne logge ind fra sin egen maskine. Niels kan altså ikke være på besøg hos jørgen, og lige låne en computer for at logge på din server via ssh for at gøre hvad han nu ville gøre

Du må vælge om du vil have sikkerheden i at det er en tredelt logon (med navn, nøgle og kode) eller om du vil have fleksibiliteten i at brugeren kan logge på fra en hvilken som helst maskine.

det grafiiske værktøj til håndtering af nøgler er jeg ikke så glad for, for det er sådan set kun en håndtering af den private del af dine nøgler.
du kan fint eksportere nøglen, men det er den private del af nøglen som du så får en kopi af ikke den offentlige, og der ryger så lidt af ideen med værktøjet.
endnu et eksempel på at grafiske værktøjer er ret begrænsede i deres kunnen. dels for ikke at blive for avancerede men også for ikke at blive for nemme at lave ballade med, og netop i dette forsøg går det så alligevel galt
Selvudnævnt guru når det drejer sig om mobilt bredbånd

Webmaster og stifter af:
Billede
Hvor du finder scripts til en hver situation

Billede
Spotten
Indlæg: 2135
Tilmeldt: 19. okt 2007, 18:13
IRC nickname: Sp0t
Geografisk sted: Jamaica

Re: Opsætning og brug af SSH keys - Ubuntu 9.10 64 bit

Indlæg af Spotten »

Hej igen! :-)

jeg tror jeg har fundet "min" løsning på "min" måde at sætte min SSH op på.

Jeg har ladet det være sådan at folk kan logge ind fra alle maskiner, men det kræver nøglen samt koden, MEN hvis f.eks jørgen stjæler niels kode og brugernavn, så kræver det blot han også nakker koden til niels nøgle, SÅ er den kompromitteret, korrekt? Men det er i sig selv nok også lidt svært hvis niels f.eks har forskellig login kode og nøgle-kode.

Jeg prøvede fra min bærbar til min stationær som køre SSH.

Jeg loggede med vilje ind fra mit mobile bredbånd for ikke at være på samme net, og det virker endda også med filezilla.

Det værktøj jeg bruger til at eksportere nøgler med, er et der eksportere dem fuldstændigt, vil mene både public og private key er med i så vidt jeg ved.

Det virker i hvert fald som jeg ville nu, så tak for forklaringen! :-)
MB : Asus Sabertooth Z77
CPU : Intel Core I7 2600K+ 3,4GHz 8Mb L3
RAM : 4x4GB Corsair DDR3 1600MHz
HDD : LAGER : 1x1TB WD Extern USB 7200rpm + SYSTEM 1 x 180GB Corsair Force 3 Series SSD SATA6 550MB/sek
GFX : MSI 7900GT 512MB GDDR3 (Passivt Kølet)
Case : Lian Li PC-V1100 Plus
PSU : Corsair Professionel Series Gold AX1200
OS: Ubuntu 18.01LTS 64bit