chiavi siano adeguatamente distribuiti in ~/.ssh/authorized_keysRedHat 6/Oracle Linux 6 non consente l'autenticazione a chiave via ssh
Eppure ssh continua a chiesto di inserire una password.
chiavi siano adeguatamente distribuiti in ~/.ssh/authorized_keysRedHat 6/Oracle Linux 6 non consente l'autenticazione a chiave via ssh
Eppure ssh continua a chiesto di inserire una password.
diversi problemi, per lo più privilegi - ma anche in relazione alla SELinux su RedHat 6
Lo script che segue tutti dovrebbe risolvere, si prega di sostituire <user>:<group>
con il tuo ID utente di corrispondenza e di gruppo
chown -R <user>:<group> ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
restorecon -R -v ~/.ssh
non dovresti cambiare i permessi dei file per essere leggibili a livello mondiale anche se sono all'interno di una directory protetta 'restorecon -R -v $ HOME/.ssh' è quello che ha fatto il trucco per me – feniix
Sì, dovrebbe essere solo l'accesso al proprietario. Nella mia casella rhel6 funziona ancora con 600 – feniix
Vuoi dire che il mio suggerimento era cattivo? perché vedo che hai modificato la tua risposta con 600 per i file. – feniix
La risposta di cui sopra è abbastanza buono, ho aggiunto un suggerimento &. L'aggiunta è nella riga 2 di seguito, poiché le autorizzazioni della directory home non sono più permissive di rwxr-x --- per l'autenticazione della chiave ssh.
cd ~
chmod g-w,o-rwx .
chmod 700 .ssh
cd .ssh
chmod 600 *
chmod 644 authorized_keys
chmod 644 known_hosts
chmod 644 config
restorecon -R -v ../.ssh
Il suggerimento è di utilizzare l'opzione -vv durante il test.
Sono d'accordo con le modifiche sopra riportate sulla maggior parte delle varianti di linux nell'account root. Ho avuto un problema con RedHat 6.3 con il tentativo di ottenere un account utente postgres per utilizzare l'autenticazione DSA. (6.3 in esecuzione in VirtualBox)
Il problema può essere che i permessi di selinux di base sono errati. Restorecon non aiuterà in questo caso.
(After restorecon)
drwx------. postgres postgres unconfined_u:object_r:var_lib_t:s0 .ssh
ho fissato questo con:
chcon -R -t ssh_home_t .ssh
Questo risolto questa istanza del problema.
Ho cercato per tre giorni questa risposta! Non è stato fino a quando ho eseguito stat sul file delle chiavi autorizzato che ho notato un contesto SELinux sul file. L'ho confrontato con un file di chiavi autorizzato per un utente diverso e ho notato la differenza! Grazie, Greg! – BamaPookie
Un altro punto che ho scoperto: se successivamente si esegue restorecon su questa directory .ssh, si perderanno le modifiche apportate con il comando chcon. È inoltre necessario aggiungere una politica che riapplicherà correttamente il contesto su un relabel del filesystem. Ho fatto questo con il seguente comando: semanage fcontext -a -t ssh_home_t "/path/to/service/home/.ssh(/.*)?". (Assicurati di utilizzare il percorso completo.) – BamaPookie
Comando corretto: semanage fcontext -a -t ssh_home_t "/path/to/service/home/\.ssh(/.*)?" – BamaPookie
Avevo anche questo stesso problema, la soluzione proposta sopra non ha risolto il caso per me. Per riassumere le istruzioni abowe insieme:
br bruno
Questa istruzione ha risolto il caso per te? O è solo una compilation? –
Controllare/var/log/secure avrà informazioni se la chiave pubblica non riuscita per autenticazione. I file più probabili hanno il permesso di lettura/scrittura sbagliato in ~/.ssh. – mguymon
Nel mio caso i soldi andavano bene. era collegato a SELinux, vedi sotto –