Configurați SSH pentru acces fără parolă

ssh

SSH, sau Secure Shell, este un shell sigur care este utilizat pentru acces de la distanță de la tot felul de dispozitive la servere, printr-un canal tunelat și protejat prin criptare, ceea ce îi conferă o securitate care împiedică sau cel puțin face extrem de dificil ca terții să poată intercepta numele de utilizator sau parola. În cazul * Nix, avem acest protocol disponibil prin OpenSSH, un set de soluții client-server disponibile în toate distribuțiile Linux și platformele conexe, cum ar fi * BSD.

Acum, dacă SSH ne oferă un nivel excelent de securitate, de ce am vrea să-l folosim fără a fi nevoie să introducem o parolă? Pot exista mai multe motive, dar unul care se remarcă în mod obișnuit ca generator este nevoia de a vă conecta de la distanță prin scripturi și de a efectua sarcini de superutilizare și, așa cum știm bine, nu este recomandabil să introduceți aceste date în orice script. Pentru a rezolva această problemă vom vedea cum să generați chei SSH pentru a vă putea conecta de la distanță fără a fi nevoie de o parolă.

Acest lucru ne cere genera o cheie publică și o cheie privată: primul va fi stocat pe serverul pe care urmează să îl accesăm și așa cum indică numele său îl putem trimite sau partaja, iar al doilea va fi stocat pe dispozitivul (computer, smartphone, tabletă) de pe care urmează să mergem accesați serverul menționat și trebuie să fie păstrat foarte atent și folosit doar de noi sau de oameni în care avem încredere.

Datorită celor menționate în paragraful anterior, este important să comentăm că acest tip de soluție necesită o foarte mare responsabilitate în îngrijirea dispozitivelor de pe care urmează să intrăm pe un server, și anume că oricine are acces la ei pot să o introducă fără să știe parola, ceea ce reprezintă un risc foarte mare de securitate. Cu acest lucru clarificat, să vedem cum putem începe și, pentru acest lucru, primul lucru este să avem demonul SSH instalat pe server:

# apt-get install openssh-server

Acum trebuie să creăm directorul .ssh în directorul utilizatorului:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# atingeți $ HOME / .ssh / autorizate_chei

Edităm fișierul / Etc / ssh / sshd_config și verificăm dacă următoarele linii sunt așa cum este:

PubkeyAuthentication da

AuthorizedKeysFile% h / .ssh / author_keys

Acum mergem la client și executăm:

ssh-keygen -t rsa

Ni se va spune că cheia este creată și ni se va cere să introducem fișierul în care va fi stocată (implicit va fi în casa noastră, într-un folder numit /.ssh/id_rsa). Putem apăsa Enter deoarece locația respectivă ne servește perfect și apoi apăsăm Enter de două ori când ni se solicită introduceți o expresie de acces întrucât, amintiți-vă, vom introduce de la distanță fără a introduce date, așa că nu dorim nici o frază.

Acum că avem cheia publică, trebuie să o împărtășim cu acele computere la care urmează să ne conectăm. Presupunând că serverul despre care vorbim are adresa 192.168.1.100, ceea ce trebuie să faceți este:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

După copiere, vom fi invitați la efectuați conectarea la distanță pentru a testa cheile, și trebuie luat în considerare faptul că în acest caz rădăcină Este contul cu care vom accesa serverul, așa că, dacă vrem să o facem cu un alt utilizator, trebuie să modificăm rădăcina pentru contul de utilizator cu care vom efectua acces prin SSH.

Acum trebuie doar să repornim serverul SSH astfel încât să preia noua configurație:

# /etc/init.d/ssh reporniți

De acum înainte, dacă vrem să accesăm un al doilea server și să facem acest lucru fără a introduce o parolă, trebuie pur și simplu să-i trimitem cheia publică, cu care repetăm ​​pur și simplu ultimul pas, schimbând utilizatorul și adresa IP după cum este necesar:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   uscător el a spus

    Mulțumim pentru informații, dar nimic ... nu există nici o cale ...
    Am încercat toată dimineața și mereu îmi cere parola.
    Acum ceva timp am încercat și l-am lăsat imposibil din același motiv ...
    Îmi creez cheia pe Macbook, o copiez în zmeura mea în ~ / .ssh / authorizedKeys
    Configurez sshd.conf cu autentificare publică și verific dacă directorul cheilor este exact unde se află cheile. Repornesc zmeura și la conectare îmi cere din nou parola
    Ce poate eșua?

    1.    uscător el a spus

      După câteva ore încercând multe lucruri, am descoperit că cu utilizatorul meu creat nu funcționează niciodată, dar cu utilizatorul implicit numit „ubuntu” funcționează prima dată.
      Orice clarificare cu privire la motivul pentru care se poate întâmpla acest lucru?
      Felicitări și mulțumiri