ssh-copy-id versus manuell kopi id_rsa.pub

Fra en dag til en annen begynte firmaets server å be meg om SSH-passordet mitt.

Det første jeg sjekket var å se om nøkkelen min var inne i .ssh/authorized_keys på serveren. Nøkkelen min var inne, ingenting forandret seg. Også i /etc/ssh/sshd_config har ingenting endret seg.

Så prøvde jeg å gjøre denne prosedyren på fersk installert Ubuntu16-server. Etter å ha fullført disse 5 trinnene, spurte den nye serveren meg igjen om SSH-passord.

ssh-copy-id -kommandoen har endelig fullført nøkkelfri SSH-pålogging, men jeg har lagt merke til at den .ssh/authorized_keys har tre linjer: en starter med ssh-dss og 2x starter med ssh-rsa

Nå husker jeg at fremgangsmåten i fem trinn fra lenken ovenfor har fungert tidligere med bare én nøkkel.

Har noe endret seg nylig? Hvorfor fungerer fremgangsmåten ovenfra ikke lenger?

Rediger: Siden ssh-copy-id kopierer totalt 3 nøkler til .ssh/authorized_keys disse tastene finner du i følgende filer:

~/.ssh/id_dsa

~/.ssh/sshkey.pub

~/.ssh/id_rsa.pub

så jeg slettet linje for linje fra ekstern «s .ssh/authorized_keys fil

slettet ~/.ssh/id_dsa linje – automatisk innlogging lykkes

slettet ~/.ssh/id_rsa.pub linje – automatisk innlogging lykkes

slettet ~/.ssh/sshkey.pub linje – automatisk pålogging ikke lyktes – ba om passord

Bare innhold fra ~/.ssh/sshkey.pub er nødvendig. Hvorfor SSH sammenligner sshkey.pub og ikke id_rsa.pub som i eksemplet fra online tutorial?

Kommentarer

  • Absolutt ikke på grunn av noen grunnleggende endringer i filen authored_keys eller ville jeg har våknet en dag for å finne meg selv ute av en hel haug med maskiner.
  • hva slags nøkkel, og hvor mange biter? serveren du ' har problemer med, kan ha høyere standarder, muligens på grunn av en oppgradering av sshd. 1024 bit RSA ble tidligere ansett som akseptabel. i dag kreves 2048 eller 4096 bit.
  • legg også utdataene til ssh -v your-remote-server til spørsmålet ditt.
  • Har du fortsatt 640 flagg på autoriserte_taster eller noe mer begrensende (600)?

Svar

Det ser ut til at ssh-copy-id er bare en praktisk funksjon. Den sjekker om nøklene allerede ble eksportert til maskinen, den oppretter .ssh katalog om nødvendig, men i utgangspunktet legger den bare til offentlige nøkler til .ssh/authorized_keys . ssh-copy-id er et skallskript (i openssh), slik at du til slutt kan lese koden (vi `which ssh-copy-id`):

[ "$DRY_RUN" ] || printf "%s\n" "$NEW_IDS" | \ ssh "$@" "exec sh -c "cd ; umask 077 ; mkdir -p .ssh && { [ -z ""`tail -1c .ssh/authorized_keys 2>/dev/null`"" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi"" \ || exit 1 

Under autentisering blir bare authorized_keys kontrollert. Fra openssh dokumentasjon :

Filen ~ / .ssh / autoriserte_taster viser publikum nøkler som er tillatt for innlogging. Når brukeren logger på, forteller ssh-programmet serveren hvilket nøkkelpar den vil bruke til autentisering. Klienten beviser at den har tilgang til den private nøkkelen og serveren sjekker at den tilhørende offentlige nøkkelen er autorisert til å godta kontoen.

Jeg håper dette svarer spørsmålstittelen din «ssh-copy-id versus manual copy id_rsa.pub». Denne filen ~/.ssh/sshkey.pub Det har jeg ikke, så jeg håper du har løst problemene med oppsettet ditt selv. Uansett, ja, du kan bare kopiere den offentlige nøkkelen manuelt til authorized_keys bruker ikke ssh-copy-id.

Legg igjen en kommentar

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