Van de ene op de andere dag begon onze bedrijfsserver mij om mijn SSH-wachtwoord te vragen.
 Het eerste dat ik controleerde, was om te zien of mijn sleutel zich in .ssh/authorized_keys op de server bevond. Mijn sleutel zat erin, er veranderde niets. Ook in /etc/ssh/sshd_config is er niets veranderd. 
Toen probeerde ik deze procedure vers uit te voeren. geïnstalleerde Ubuntu16-server. Na het voltooien van deze 5 stappen, vroeg de nieuwe server me opnieuw om het SSH-wachtwoord.
 Het ssh-copy-id commando heeft eindelijk een sleutelloze SSH login voltooid, maar ik heb gemerkt dat .ssh/authorized_keys heeft drie regels: een die begint met ssh-dss en 2x begint met ssh-rsa 
Nu herinner ik me dat de procedure van 5 stappen via de bovenstaande link in het verleden werkte met slechts één sleutel.
Is er recentelijk iets veranderd? Waarom werkt de bovenstaande procedure niet meer?
 Bewerken: sinds ssh-copy-id in totaal 3 sleutels naar .ssh/authorized_keys die sleutels kopieert kan worden gevonden in de volgende bestanden: 
 ~/.ssh/id_dsa 
 ~/.ssh/sshkey.pub 
 ~/.ssh/id_rsa.pub 
 dus ik verwijderde regel voor regel van remote “s .ssh/authorized_keys bestand 
 verwijderd ~/.ssh/id_dsa regel – automatisch inloggen geslaagd 
 verwijderd ~/.ssh/id_rsa.pub regel – automatisch inloggen geslaagd 
 verwijderd ~/.ssh/sshkey.pub line – auto login  niet  geslaagd – wachtwoord gevraagd 
 Alleen inhoud van ~/.ssh/sshkey.pub is nodig. Waarom SSH sshkey.pub vergelijkt en niet id_rsa.pub zoals in het voorbeeld van de online tutorial? 
Reacties
Antwoord
 Het lijkt erop dat ssh-copy-id is slechts een gemaksfunctie. Het controleert of de sleutels al naar de machine zijn geëxporteerd, het maakt indien nodig een .ssh directory aan, maar in feite voegt het alleen openbare sleutels toe aan .ssh/authorized_keys . ssh-copy-id is een shellscript (in openssh), dus je kunt de code (vi `which ssh-copy-id`) uiteindelijk lezen: 
[ "$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  Tijdens authenticatie worden alleen authorized_keys gecontroleerd. Van openssh  documentatie : 
Het bestand ~ / .ssh / geautoriseerde_keys geeft een overzicht van de openbare sleutels die zijn toegestaan om in te loggen. Wanneer de gebruiker inlogt, vertelt het ssh-programma de server welk sleutelpaar het wil gebruiken voor authenticatie. De client bewijst dat hij toegang heeft tot de private key en de server controleert of de corresponderende publieke sleutel geautoriseerd is om de account te accepteren.
 Ik hoop dat dit antwoord geeft de titel van uw vraag “ssh-copy-id versus handmatige kopie id_rsa.pub”. Dit bestand ~/.ssh/sshkey.pub heb ik niet, dus ik hoop dat je de problemen met je installatie zelf hebt opgelost. Hoe dan ook, ja, je kunt de openbare sleutel gewoon handmatig kopiëren naar authorized_keys gebruikt geen ssh-copy-id. 
ssh -v your-remote-servertoe aan je vraag.