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

Autorizzazioni sulla chiave privata nella cartella .ssh?

Ho cambiato le mie autorizzazioni nella mia cartella .ssh e ora quando utilizzo un software che utilizza la mia chiave privata, devo digitare la mia password ogni volta. Quali dovrebbero essere le mie autorizzazioni sul mio file id_rsa per non dover digitare la password ogni volta che utilizzo un'applicazione che la utilizza?

Attualmente le mie autorizzazioni sono impostate su:

-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

Risposte (4)

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

Ho lottato per sempre con questo e alla fine ho capito di cosa c'è bisogno. Sostituire $USER ovunque con il nome utente SSH a cui si vuole accedere sul server. Se stai cercando di effettuare il login come root dovresti usare /root/.ssh ecc, invece di /home/root/.ssh che è così per gli utenti non root.

  • La directory Home sul server non dovrebbe essere scrivibile da altri: chmod go-w /home/$USER
  • La cartella SSH sul server ha bisogno di 700 permessi: chmod 700 /home/$USER/.ssh
  • Il file autorizzato_keys ha bisogno di 644 permessi: chmod 644 /home/$USER/.ssh/authorized_keys
  • Assicurati che user possieda i file/cartelle e non root: chown user:user authorized_keys e chown user:user /home/$USER/.ssh
  • Mettere la chiave pubblica generata (da ssh-keygen) nel file authorized_keys dell'utente sul server
  • Assicurarsi che la directory home dell'utente sia impostata su quella che ci si aspetta che sia e che contenga la cartella .ssh corretta che si sta modificando. In caso contrario, usare usermod -d /home/$USER $USER per risolvere il problema
  • Infine, riavviare ssh: service ssh restart
  • Poi assicurarsi che il client abbia la chiave pubblica e i file della chiave privata nella cartella .ssh dell'utente locale e fare il login: ssh user@host.com
37
37
37
2013-01-03 03:50:21 +0000

Assicuratevi anche che la vostra home directory non sia scrivibile da altri utenti.

chmod g-w,o-w ~

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

I permessi non dovrebbero avere nulla a che fare con questo. La vostra chiave privata è criptata con la password, quindi dovete inserirla affinché la chiave privata sia decriptata e utilizzabile.

Potreste considerare di eseguire un agente ssh, che può mettere in cache le chiavi decriptate e le fornirà alle applicazioni che ne hanno bisogno.

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

Felipe è corretto - la directory contenente la vostra directory .ssh non deve essere scrivibile per gruppo o altro. Quindi chmod go-w ~ è la prossima cosa logica da provare se vi viene ancora richiesta una password quando ssh'ing dopo l'esecuzione di ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys, supponendo che non assegnate una passphrase nel comando ssh-keygen, e che la vostra directory .ssh sia nella vostra directory home.