2012-03-09 15 views
10

Ho eseguito la scansione del Web/SO e ho letto diverse richieste di autorizzazione per i rifiuti. Non riesco a trovarne uno che risolva il problema in un modo che ho capito..ssh/id_rsa non riuscito: autorizzazione negata

Sto seguendo queste istruzioni (Getting Started with Python on Heroku/Cedar). Tutto è andato bene fino a quando:

[email protected]:~/helloflask$ source venv/bin/activate 
(venv)[email protected]:~/helloflask$ git push heroku master 

The authenticity of host 'heroku.com (50.19.85.132)' can't be established. 
RSA key fingerprint is ##:##:##:##:##:##:##:##:##:##:##:## (I replaced with #) 
Are you sure you want to continue connecting (yes/no)? yes 
Failed to add the host to the list of known hosts (/home/drewverlee/.ssh/known_hosts). 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

(Non sono sicuro della sicurezza così ho sostituito la chiave con (#))

Penso che potrebbe essere causa di

drwx------ 2 root  root  1024 2012-03-08 21:26 .ssh 

perché

[email protected]:~$ ssh-keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/drewverlee/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
open /home/drewverlee/.ssh/id_rsa failed: Permission denied. 
Saving the key failed: /home/drewverlee/.ssh/id_rsa. 

Come qualcuno con poca esperienza in questi argomenti non sono sicuro di come annullare ciò che ho fatto in modo sicuro come ho Come sto interferendo con potenti strumenti. Qualche consiglio su cosa sta succedendo qui? Fammi sapere se ho bisogno di includere più informazioni per risolvere il problema.

+0

@CIRCLE che non mi sembra una buona idea per me – Phoenix87

risposta

34

È necessario possedere le autorizzazioni per la directory .ssh nella propria directory, ma nel tuo caso è di proprietà di root. Prova

cd ~ 
sudo chown drewverlee .ssh 

e quindi riprovare a creare le chiavi e la connessione.

+0

Ho capito come possedere la mia intera directory utente come ho letto questo era probabile la cosa efficiente da fare. Grazie per avermi indicato nella giusta direzione. –

+4

Ho trovato che ssh-keygen preferisce creare la directory .ssh. Se la directory esiste già, emette un messaggio di autorizzazione negato a prescindere dalla configurazione delle autorizzazioni di proprietà permissive. – ddoxey

4

Ho avuto lo stesso problema su CentOS 6. risolto rimuovendo SELinux:

sudo yum remove selinux* 

found the answer here

nota: probabilmente non è una buona idea per rimuovere ciecamente SELinux, se non si conosce cosa stai facendo però

+0

è più facile disabilitare selinux, piuttosto che rimuoverlo cambiando 'SELINUX = disabled' in'/etc/selinux/config'. Vedi [Cenos Docs] (http://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-enable-disable.html) –

+0

[Stop Disabling Selinx] (http://stopdisablingselinux.com) /) è stato davvero un problema di selinux che è necessario correggere i contesti esaminando i registri di controllo. –

1

Per alcuni motivi, il file id_rsa nella cartella ~/.ssh era in modalità di sola lettura per il mio utente (0400). Ho cambiato che scrittura lettura a (0600) con

chmod 0600 id_rsa 

e dopo ero, ovviamente, in grado di sovrascrivere il file. Immagino che questi siano i permessi più alti che puoi dare a questo file, perché gli altri non avrebbero molto senso.

Problemi correlati