Configureer SSH voor toegang zonder wachtwoord

ssh

SSH, of Secure Shell, is een veilige shell die wordt gebruikt voor de toegang op afstand van allerlei apparaten tot servers, via een getunneld kanaal en beschermd door encryptie, wat het een beveiliging geeft die het verhindert, of het in ieder geval extreem moeilijk maakt, dat derden de gebruikersnaam of het wachtwoord kunnen onderscheppen. In het geval van * Nix hebben we dit protocol beschikbaar via OpenSSH, een set client-serveroplossingen die beschikbaar zijn in alle Linux-distributies en gerelateerde platforms zoals * BSD.

Als SSH ons een uitstekend beveiligingsniveau biedt, waarom zouden we het dan willen gebruiken zonder een wachtwoord in te voeren? Er kunnen verschillende redenen zijn, maar een die vaak opvalt als de generator, is de noodzaak om op afstand in te loggen via scripts en superuser-taken uit te voeren, en het is dat het, zoals we goed weten, niet raadzaam is om die gegevens in een script te stoppen. Om dit probleem op te lossen, gaan we zien hoe je SSH-sleutels genereert om op afstand te kunnen inloggen zonder dat je een wachtwoord nodig hebt.

Dit vereist ons genereer een openbare sleutel en een privésleutel: de eerste wordt opgeslagen op de server waartoe we toegang zullen krijgen en zoals de naam aangeeft, kunnen we deze verzenden of delen, en de tweede wordt opgeslagen op het apparaat (computer, smartphone, tablet) waarvandaan we gaan toegang krijgen tot genoemde server, en moet heel zorgvuldig bewaard en alleen gebruikt door ons of door mensen die we vertrouwen.

Vanwege wat in de vorige paragraaf is vermeld, is het belangrijk om op te merken dat dit type oplossing een zeer grote verantwoordelijkheid vereist bij de zorg voor de apparaten van waaruit we een server gaan betreden, en dat is dat iedereen die toegang heeft tot ze kunnen het invoeren zonder het wachtwoord te hoeven kennen, wat een zeer groot beveiligingsrisico is. Nu dit is verduidelijkt, laten we eens kijken hoe we kunnen beginnen, en hiervoor is het eerste dat de SSH-daemon op de server is geïnstalleerd:

# apt-get install openssh-server

Nu moeten we de .ssh-directory aanmaken in de gebruikersdirectory:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ THUIS / .ssh

# raak $ HOME / .ssh / geautoriseerde_toetsen aan

We bewerken het bestand / Etc / ssh / sshd_config en we verifiëren dat de volgende regels zijn zoals ze zijn:

PubkeyAuthentication ja

AuthorizedKeysFile% h / .ssh / geautoriseerde_sleutels

Nu gaan we naar de klant en voeren we uit:

ssh-keygen -t rsa

Er wordt ons verteld dat de sleutel wordt aangemaakt, en we zullen worden gevraagd om het bestand in te voeren waarin het zal worden opgeslagen (standaard bevindt het zich bij ons thuis, in een map met de naam /.ssh/id_rsa). We kunnen op Enter drukken omdat die locatie ons perfect van dienst is, en dan drukken we nogmaals op Enter de twee keren dat we daarom worden gevraagd voer een wachtwoordzin in denk eraan dat we op afstand gaan invoeren zonder gegevens in te voeren, dus we willen ook geen zin.

Nu we de openbare sleutel hebben, moeten we deze delen met de computers waarmee we verbinding gaan maken​ Ervan uitgaande dat de server waar we het over hebben het adres 192.168.1.100 heeft, moet u het volgende doen:

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

Na het kopiëren worden we uitgenodigd voer de externe login uit om de sleutels te testen, en hiermee moet in dit geval rekening worden gehouden wortel Het is het account waarmee we toegang krijgen tot de server, dus als we het met een andere gebruiker willen doen, moeten we de root wijzigen voor het gebruikersaccount waarmee we de toegang via SSH.

Nu hoeven we alleen de SSH-server opnieuw op te starten zodat deze de nieuwe configuratie aanneemt:

# /etc/init.d/ssh herstart

Als we vanaf nu toegang willen tot een tweede server en dit doen zonder een wachtwoord in te voeren, hoeven we deze alleen de openbare sleutel te sturen, waarmee we eenvoudig de laatste stap herhalen, waarbij we de gebruiker en het IP-adres indien nodig wijzigen:

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


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   droogmiddel zei

    Bedankt voor de info maar niets ... er is geen manier ....
    Ik heb het de hele ochtend geprobeerd en er wordt altijd om mijn wachtwoord gevraagd.
    Een tijdje geleden heb ik het geprobeerd en ik heb het om dezelfde reden als onmogelijk gelaten….
    Ik maak mijn sleutel op mijn Macbook, kopieer deze naar mijn framboos in ~ / .ssh / AuthorizedKeys
    Ik configureer sshd.conf met openbare authenticatie en verifieer dat de directory van de sleutels precies is waar de sleutels zijn. Ik start de framboos opnieuw op en bij het verbinden wordt me opnieuw om het wachtwoord gevraagd
    Wat kan er mislukken?

    1.    droogmiddel zei

      Na een aantal uren veel dingen geprobeerd te hebben, heb ik ontdekt dat het met mijn aangemaakte gebruiker nooit werkt, maar met de standaardgebruiker die "ubuntu" heet, het de eerste keer werkt.
      Enige opheldering over waarom dit kan gebeuren?
      Saludos y gracias