2010-11-26 22:04:58 +0000 2010-11-26 22:04:58 +0000
411
411

Machtigingen op private key in .ssh map?

Ik heb mijn machtigingen in mijn .ssh map gewijzigd en als ik nu een stuk software gebruik dat mijn private key gebruikt, moet ik elke keer mijn wachtwoord intypen. Wat moeten mijn rechten op mijn id_rsa-bestand staan om niet telkens een wachtwoord te hoeven typen als ik een app gebruik die deze gebruikt?

Momenteel zijn mijn rechten ingesteld op:

-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub 
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts

Antwoorden (4)

93
93
93
2015-06-09 20:39:45 +0000

Ik worstelde hiermee voor eeuwig en kwam er uiteindelijk achter wat er nodig is. Vervang $USER overal met de SSH-gebruikersnaam waarmee je op de server wilt inloggen. Als je probeert in te loggen als root zou je /root/.ssh moeten gebruiken, enz, in plaats van /home/root/.ssh, zoals het is voor niet-wortelgebruikers.

  • Home directory op de server moet niet beschrijfbaar zijn voor anderen: chmod go-w /home/$USER
  • SSH map op de server heeft 700 rechten nodig: chmod 700 /home/$USER/.ssh
  • Authorized_keys bestand heeft 644 rechten nodig: chmod 644 /home/$USER/.ssh/authorized_keys
  • Zorg ervoor dat user eigenaar is van de bestanden/mappen en niet van root: chown user:user authorized_keys en chown user:user /home/$USER/.ssh
  • Zet de gegenereerde publieke sleutel (van ssh-keygen) in het authorized_keys bestand van de gebruiker op de server
  • Zorg ervoor dat de home directory van de gebruiker is ingesteld op wat u verwacht en dat deze de juiste .ssh map bevat die u heeft aangepast. Zo niet, gebruik usermod -d /home/$USER $USER om het probleem op te lossen
  • Herstart ten slotte ssh: service ssh restart
  • Zorg er dan voor dat de client de publieke sleutel en de private sleutel bestanden in de lokale gebruiker’s .ssh map heeft en log in: ssh user@host.com
37
37
37
2013-01-03 03:50:21 +0000

Zorg er ook voor dat uw thuismap niet beschrijfbaar is door andere gebruikers.

chmod g-w,o-w ~

6
6
6
2010-11-26 22:07:13 +0000

De vergunningen zouden hier niets mee te maken moeten hebben. Uw privé-sleutel is versleuteld met het wachtwoord, dus u moet deze invoeren om de privé-sleutel te ontcijferen en te kunnen gebruiken.

U kunt overwegen om een ssh-agent te gebruiken, die gedecodeerde sleutels kan cachen en deze zal leveren aan toepassingen die ze nodig hebben.

4
4
4
2014-04-17 20:20:44 +0000

Felipe is correct – de directory met uw .ssh-directory mag niet schrijfbaar zijn per groep of andere. Dus chmod go-w ~ is het volgende logische ding om te proberen als er na het uitvoeren van ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys nog steeds om een wachtwoord wordt gevraagd bij ssh'en, ervan uitgaande dat u geen passphrase toekent in het ssh-keygen commando, en uw .ssh map staat in uw thuismap.