it-swarm-eu.dev

ssh "permessi sono troppo aperti" errore

Ho avuto un problema con il mio Mac in cui non ero più in grado di salvare alcun tipo di file sul disco . Ho dovuto riavviare OSX lion e ripristinare le autorizzazioni su file e acl.

Ma ora quando voglio commettere un repository ottengo il seguente errore da ssh:

Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

Quali livelli di permessi dovrei dare al file id_rsa?

1508
Yannick Schall

Le chiavi devono essere solo leggibili da te:

chmod 400 ~/.ssh/id_rsa

600 sembra andare bene (in effetti è meglio nella maggior parte dei casi, perché non è necessario modificare i permessi dei file per modificarlo).

La parte pertinente dalla manpage (man ssh)

 ~/.ssh/id_rsa
         Contains the private key for authentication.  These files contain sensitive 
         data and should be readable by the user but not
         accessible by others (read/write/execute).  ssh will simply ignore a private 
         key file if it is              
         accessible by others.  It is possible to specify a
         passphrase when generating the key which will be used to encrypt the sensitive 
         part of this file using 3DES.

 ~/.ssh/identity.pub
 ~/.ssh/id_dsa.pub
 ~/.ssh/id_ecdsa.pub
 ~/.ssh/id_rsa.pub
         Contains the public key for authentication.  These files are not sensitive and 
         can (but need not) be readable by anyone.
2616
quickshiftin

Utilizzando Cygwin in Windows 8.1, è necessario eseguire un comando:

utenti chgrp ~/.ssh/id_rsa

Quindi la soluzione pubblicata qui può essere applicata, 400 o 600 è OK.

chmod 600 ~/.ssh/id_rsa

Rif: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8

82
tanza9

La soluzione indipendente dalle impostazioni locali che funziona su Windows 8.1 è:

chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa

GID 545 è un ID speciale che fa sempre riferimento al gruppo "Utenti", anche se le impostazioni locali utilizzano un Word diverso per gli utenti.

31
thehouse

0600 è ciò che il mio è impostato (e funziona)

28
Devin Ceartas

AFAIK i valori sono:

700 per la directory nascosta ".ssh" dove si trova il file chiave

600 per il file di chiavi "id_rsa"

21
ajaaskel

C'è un'eccezione al requisito delle autorizzazioni "0x00" su una chiave. Se la chiave è di proprietà di root e di proprietà di un gruppo di un gruppo con utenti al suo interno, può essere "0440" e qualsiasi utente di quel gruppo può utilizzare la chiave.

Credo che funzionerà con qualsiasi autorizzazione nel set "0xx0" ma non ho testato ogni combinazione con ogni versione. Ho provato 0660 con 5.3p1-84 su CentOS 6, e il gruppo non è il gruppo principale dell'utente, ma un gruppo secondario, e funziona perfettamente.

Questo in genere non dovrebbe essere fatto per la chiave personale di qualcuno, ma per una chiave utilizzata per l'automazione, in una situazione in cui non si desidera che l'applicazione sia in grado di interferire con la chiave.

Regole simili si applicano alle restrizioni della directory .ssh.

13
syberghost

fornire 400 permessi, eseguire sotto il comando 

chmod 400 /Users/username/.ssh/id_rsa

 enter image description here

9
Sujit Dhamale

cosa ha funzionato per me

utenti di chgrp FOLDER

chmod 600 FOLDER

4
Jerome Ansia

Su Windows 10, chmod e chgrp di cygwin non erano abbastanza per me. Ho dovuto fare clic destro sul file -> Proprietà -> Sicurezza (scheda) e rimuovere tutti gli utenti e gruppi tranne il mio utente attivo.

3
Jared Beach

Messaggio intersecante qui . Il funzionamento di Syatems è abbastanza intelligente da negare le connessioni remote se la chiave privata è troppo aperta. Comprende il rischio in cui le autorizzazioni per id_rsa sono completamente aperte (leggi, è edittabile da chiunque).

{Uno potrebbe aver cambiato prima il lucchetto e poi aprirlo con i tasti che aveva già. }

cd ~/.ssh
chmod 400 id_rsa

PS: 

Mentre si lavora su più server (non di produzione), molti di noi sentono la necessità di connettere il server remoto con ssh. Una buona idea è avere un pice di codice a livello di applicazione (potrebbe essere Java usando jsch) per creare trust ssh tra i server. In questo modo la connessione sarà senza password. Incase, Perl è installato - si può usare anche il modulo net ssh.

2
Piyush Baijal

Ho l'errore nel mio Windows 10 quindi ho impostato il permesso come segue e funziona.

 Permission for id_rsa of windows 10

In dettaglio, rimuovi altri utenti/gruppi finché non ha solo "SISTEMA" e "Amministratori". Quindi aggiungi il login di Windows al suo interno solo con l'autorizzazione di lettura.

Nota che il file id_rsa si trova nella cartella c:\users\<username>.

1

Questo è quello che ha funzionato per me (su mac)

Sudo chmod 600 path_to_your_key.pem 

poi :

ssh -i path_to_your_key [email protected]_ip

Spero che aiuti

0
lansanalsm

Ho provato 600 livelli di autorizzazione per la mia chiave privata e ha funzionato per me . chmod 600 privateKey [Dev] $ ssh -i privateKey [email protected]

chmod 755 privateKey [dev] $ ssh -i privateKey utente @ ip stava fornendo il seguente problema: Le autorizzazioni 0755 per "privateKey" sono troppo aperte . È richiesto che i tuoi file di chiave privata NON sono accessibili da altri . Questa chiave privata verrà ignorata . Carica chiave "privateKey": autorizzazioni errate

0

Mi sono imbattuto in questo errore mentre stavo giocando con Ansible. Ho modificato le autorizzazioni della chiave privata in 600 per risolvere questo problema. E ha funzionato!

chmod 600 .vagrant/machines/default/virtualbox/private_key
0
vildhjarta

Per me (usando Ubuntu Subsystem per Linux) il messaggio di errore è cambiato in:

 Permissions 0555 for 'key.pem' are too open

dopo aver usato chmod 400 . Si scopre che l'utilizzo di root come utente predefinito era la ragione.

Cambia questo usando il cmd:

 ubuntu config --default-user your_username
0