AVERTISMENT: FIȘIERUL CHEIE PRIVATĂ NEPROTECTAT! atunci când încercați să SSH în instanță Amazon EC2

I'm working to set up Panda on an Amazon EC2 instance. I set up my account and tools last night and had no problem using SSH to interact with my own personal instance, but right now I'm not being allowed permission into Panda's EC2 instance. Getting Started with Panda

Am primit următoarea eroare:

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

Mi-am comandat perechea de chei la 600 pentru a intra în instanța mea personală noaptea trecută și am experimentat în lungă stabilirea permisiunilor pentru 0 și chiar generarea de noi șiruri cheie, dar nimic nu pare să funcționeze.

Orice ajutor ar fi un mare ajutor!


Hm, se pare că dacă permisiunile nu sunt setate la 777 în director, scriptul ec2-run-instances nu poate găsi fișierele mele cheie. Sunt nou la SSH, ca să scap de ceva.

123
Trebuie să dați comenzile u = rw și go = chmod pentru fișier - 400). Speranța acest lucru vă ajută.
adăugat autor Aniket Thakur, sursa
@MikeNereson: nu ezitați să o editați, așa facem lucrurile mai bune aici
adăugat autor Stu Thompson, sursa
Sunteți sigur că ați setat-o ​​la 0600 (octal) și nu la 600 (zecimal)?
adăugat autor hyde, sursa
teribil pentru această întrebare.
adăugat autor MikeNereson, sursa
chmod 400 ~/.ssh/id_rsa Referință: stackoverflow.com/a/9270753/2082569
adăugat autor atulkhatri, sursa
ec2-run-instanțe ar trebui să necesite doar un nume cheie pereche, care este ceva care trăiește pe partea lui Amazon. Ar trebui să utilizați numai cheia dvs. privată (cea de pe disc) atunci când intrați în SSH. Ce eroare primiți de la ec2-run-instances?
adăugat autor user27619, sursa

6 răspunsuri

Mi-am comandat perechea de chei la 600 pentru a intra în instanța mea personală aseară,

Și așa trebuie să fie.

Din documentația EC2 avem "Dacă sunteți" folosind OpenSSH (sau orice client SSH paranoic în mod rezonabil), atunci probabil că va trebui să setați permisiunile acestui fișier astfel încât să poată fi citit numai de dvs. " Documentația Panda pe care o trimiteți link-uri către documentația Amazon, Nu spuneți cât de important este totul.

Ideea este că fișierele cu perechi de chei sunt ca parolele și trebuie protejate. Deci, clientul ssh pe care îl utilizați impune ca aceste fișiere să fie securizate și că numai contul dvs. le poate citi.

Setarea directorului la 700 într-adevăr ar trebui să fie suficient, dar 777 nu va face rău atâta timp cât fișierele sunt 600.

Orice probleme pe care le aveți sunt clientul, deci asigurați-vă că includeți informații despre sistemul de operare local cu orice întrebări ulterioare!

149
adăugat
Linkul @StuThompson la documentația EC2 pare a fi mort. Vă rog să vă actualizați?
adăugat autor Aniket Thakur, sursa
Nevermind a actualizat linkul. Mulțumiri.
adăugat autor Aniket Thakur, sursa
@tobixen: Două ani vin, dar ... soluția corectă ar fi aceea de a plasa cheia într-un utilizator dedicat și de a permite utilizatorilor de grup să acceseze sudo la rularea acelei comenzi ca utilizator dedicat.
adăugat autor Stu Thompson, sursa
a face chmod 700 filenmane.pem a lucrat, mulțumesc
adăugat autor Rich Fox, sursa
Tocmai am intrat într-o situație în care aș vrea ca fișierul cheie să fie citit de grup (folosind ssh nu pentru autentificare personală, ci pentru a executa un script pe un server la distanță, utilizator dedicat pe serverul la distanță în acest scop, authorized_keys blocat, scriptul menționat va fi rulat și mai multe persoane de pe serverul de origine ar trebui să aibă acces la rularea scriptului). Ei bine, cred că soluția simplă este de a pune copii în ~/.ssh/pentru toți utilizatorii care ar trebui să aibă acces - sau să folosească authorized_keys cu toate cheile personale.
adăugat autor tobixen, sursa

Make sure that the directory containing the private key files is set to 700

chmod 700 ~/.ec2
40
adăugat
Tocmai am folosit acest lucru pe fișierul .pem și a lucrat pentru mine.
adăugat autor CGTheLegend, sursa
Orice motiv special pentru care doriți să aveți privilegii de execuție pe fișier?
adăugat autor Zoltán, sursa
@ Zoltán este un director, nu un fișier.
adăugat autor avmohan, sursa
Mulțumesc, acest lucru funcționează și pentru mine.
adăugat autor Rubyrider, sursa
Acest răspuns devine exact la punct :)
adăugat autor Populus, sursa

Pentru a remedia acest lucru, 1) va trebui să resetați permisiunile la valorile implicite:

sudo chmod 600 ~/.ssh/id_rsa  sudo chmod 600 ~/.ssh/id_rsa.pub

Dacă primiți o altă eroare: Sigur doriți să continuați conectarea (da/nu)? da Nu s-a adăugat gazda în lista gazdelor cunoscute (/home/geek/.ssh/known_hosts).

2) Aceasta înseamnă că permisiunile pentru acel fișier sunt, de asemenea, setate incorect și pot fi ajustate cu aceasta:

sudo chmod 644 ~/.ssh/known_hosts

3) În cele din urmă, poate fi necesar să ajustați și permisiunile de director:

sudo chmod 755 ~/.ssh

Acest lucru ar trebui să vă aducă înapoi și să fie difuzate.

15
adăugat

Fișierul cheie privat trebuie protejat. În cazul meu, am folosit autentificarea public key pentru o lungă perioadă de timp și am folosit pentru a seta permisiunea ca 600 (rw- --- ---) pentru cheia privată și 644 (rw- r-- r--) și pentru folderul .ssh din dosarul de domiciliu, veți avea 700 de permisiuni (rwx --- ---). Pentru a seta acest lucru mergeți la dosarul de domiciliu al utilizatorului și executați următoarea comandă


Set the 700 permission for .ssh folder

chmod 700 .ssh


Set the 600 permission for private key file

chmod 600 .ssh/id_rsa


Set 644 permission for public key file

chmod 644 .ssh/id_rsa.pub
5
adăugat

Păstrați cheia privată, cheia publică, know_hosts în același director și încercați să vă conectați ca mai jos:

ssh -I(small i) "hi.pem" [email protected]---.us-west-2.compute.amazonaws.com

  • Același director în sensul, cd/Utilizatori/princi/Desktop Acum tastați comanda ls ar trebui sa vezi **. pem ** ppk known_hosts

Notă: Trebuie să încercați să vă conectați din același director. Altfel, veți primi eroare de refuzare a permisiunii, deoarece nu poate prelua fișierul .ppm din directorul dvs. actual.

1
adăugat

Mă gândesc la altceva, dacă încercați să vă conectați cu un alt nume de utilizator care nu există, acesta este mesajul pe care îl veți primi.

Asa ca presupun ca poate incercati sa ssh cu ec2-user, dar imi amintesc recent ca majoritatea cento-urilor AMI folosesc de exemplu utilizatorul centos in loc de ec2-user

așa că dacă sunteți ssh -i file.pem centos @ public_IP vă rog să-mi spuneți că vă întrebați să utilizați ssh cu numele de utilizator corect altfel acest lucru ar putea fi un motiv puternic pentru a vedea acest mesaj de eroare chiar și cu permisiunile corecte pe ~ .ssh/id_rsa sau file.pem

0
adăugat