Setarea permisiunilor .ssh / config adecvate

Setting Proper Ssh Config Permissions



Protocolul SSH este un protocol sigur care este de obicei utilizat pentru conectarea la dispozitive la distanță, cum ar fi servere și dispozitive de rețea, inclusiv routere și comutatoare. Funcționează într-o configurare client-server și, în mod implicit, ascultă pe portul 22 (deși acest lucru poate fi modificat atunci când este necesar). SSH folosește diferite tehnici de criptare și hash pentru a asigura comunicarea între client și gazda la distanță este criptată și sigură de ascultare.

Fișierele SSH sunt stocate în .ssh pliant. Acesta este un folder ascuns care se află în directorul principal. The .ssh directorul nu este creat în mod implicit; este creat atunci când inițiați o conexiune cu o gazdă la distanță sau utilizați ssh-keygen comanda pentru a genera cheile de autentificare private și publice ca atunci când doriți configurați autentificarea ssh fără parolă.







The .ssh pliant. conține fișiere SSH esențiale precum:



  1. Chei publice și private ( id_rsa și id_rsa.pub ).
  2. The cunoscute_hosts fișier - Conține chei publice ale tuturor sistemelor la distanță la care v-ați conectat.
  3. The config fișier de configurare client

Dacă config fișierul nu există, puteți crea cu ușurință unul așa cum se arată.



$ touch ~ / .ssh / config

Fișierul de configurare a clientului .ssh / config

De fiecare dată când inițiați o conexiune SSH, trebuie să specificați detalii precum adresa IP sau numele domeniului și portul pe care îl ascultă SSH. De exemplu,

$ ssh [email protected] -p 22

Poate fi agitat să ne amintim mereu de astfel de detalii. Și aici este locul ~ / .ssh / config fișierul intră ~ / .ssh / config fișier este un fișier de configurare care vă permite să configurați detaliile de configurare pentru fiecare utilizator al gazdei la distanță. Vă scutește de agonia de a fi nevoit să vă amintiți întotdeauna detaliile pentru fiecare gazdă necesare pentru conectare.

Un exemplu de fișier de configurare apare așa cum se arată.

Server de stocare a gazdei
HostName 192.168.2.103
Utilizator James
Portul 22

O simplă comandă SSH în gazda la distanță ar arăta după cum urmează:

$ ssh staging-server

Permisiunile fișierului .ssh / config

În mod implicit, fișierul ~ / .ssh / config fișierul de configurare client posedă 644 permisiuni de fișiere. Puteți verifica dacă utilizați ls -la comanda după cum urmează.

$ ls -la ~ / .ssh / config

Aceasta implică faptul că proprietarul și grupul fișierului au ambele permisiuni de citire și scriere (rw), în timp ce ceilalți utilizatori au numai permisiuni de citire (r).

-rw-rw-r--

NOTĂ:

De regulă, nu atribuiți niciodată permisiuni de scriere altor utilizatori. Acest lucru prezintă un risc de securitate pentru fișierul dvs., iar alți utilizatori care nu sunteți dvs. sau din grupul dvs. pot modifica conținutul fișierului. Atribuirea permisiunilor de scriere va avea ca rezultat „ Proprietar greșit sau permisiuni 'Eroare așa cum este indicat mai jos.

Aici, fișierului de configurare i s-au atribuit permisiunile 666. Aceasta implică faptul că toată lumea poate citi și scrie fișierul.

În mod similar, același caz se aplică aici în cazul în care fișierului i s-au atribuit 777 de permisiuni. Aceasta implică faptul că toată lumea poate citi, scrie și executa fișierul. Pur și simplu, oricine are toate drepturile asupra fișierului potențial periculos.

Cea mai bună practică vă recomandă să lăsați permisiunile implicite la 664 sau 600, unde numai proprietarul are permisiuni de citire și scriere (rw). În acest fel, fișierul rămâne în siguranță împotriva modificării de către utilizatori neautorizați.

În plus, asigurați-vă că dețineți fișierul. Dacă fișierul este schimbat cu alt utilizator, SSH nu va putea rezolva numele de gazdă furnizat în fișierul de configurare.

În exemplul de mai jos, ~ / .ssh / config proprietatea a fost setată la bob: bob.

Pentru a rezolva această problemă, am revenit la proprietatea originală a fișierului folosind chown comanda.

$ sudo chown james: james ~ / .ssh / config

Cu permisiunile de fișiere anulate, acum pot avea acces invocând comanda SSH urmată de numele de gazdă specificat în fișierul de configurare.

$ ssh staging-server

Și asta este tot ce trebuie să știți despre setarea permisiunilor pentru ~ / .ssh / config fişier. Asigurați-vă că nu setați permisiunile de citire pentru restul utilizatorilor și asigurați-vă că dețineți fișierul.