Konfigurera SSH för lösenordsfri åtkomst

ssh

SSH, eller Secure Shell, är ett säkert skal som används för fjärråtkomst från alla typer av enheter till servrar, genom en tunnelkanal och skyddad av kryptering, vilket ger den en säkerhet som förhindrar, eller åtminstone gör det extremt svårt, att tredje part kan fånga upp användarnamnet eller lösenordet. När det gäller * Nix har vi det här protokollet tillgängligt via OpenSSH, en uppsättning klientserverlösningar tillgängliga i alla Linux-distributioner och relaterade plattformar som * BSD.

Om SSH erbjuder oss en utmärkt säkerhetsnivå, varför skulle vi vilja använda det utan att behöva ange ett lösenord? Det kan finnas flera anledningar, men en som vanligtvis sticker ut som generatorn är behovet av att logga in på fjärrkontroll genom skript och utföra superanvändaruppgifter, och det är att som vi väl vet är det inte tillrådligt att placera data i något skript. För att lösa detta problem kommer vi att se hur man genererar SSH-nycklar för att kunna logga in på distans utan ett lösenord.

Detta kräver oss generera en offentlig nyckel och en privat nyckel: den första kommer att lagras på servern som vi ska komma åt och som namnet antyder kan vi skicka eller dela den, och den andra kommer att lagras på enheten (dator, smartphone, surfplatta) från vilken vi ska komma åt nämnda server och måste vara hålls mycket noggrant och endast används av oss eller av människor vi litar på.

På grund av vad som nämns i föregående stycke är det viktigt att kommentera att denna typ av lösning kräver ett mycket stort ansvar för vården av enheterna från vilka vi ska gå in på en server, och det är att alla som har tillgång till de kan ange det utan att behöva veta lösenordet, vilket är en mycket stor säkerhetsrisk. Efter att ha klargjort detta, låt oss se hur vi kan börja, och för detta är det första att ha SSH-demon installerad på servern:

# apt-get installera openssh-server

Nu måste vi skapa .ssh-katalogen i användarkatalogen:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HEM / .ssh

# peka på $ HOME / .ssh / auktoriserade tangenter

Vi redigerar filen / Etc / ssh / sshd_config och vi verifierar att följande rader är som de är:

PubkeyAuthentication ja

AuthorisedKeysFile% h / .ssh / author_keys

Nu går vi till klienten och kör:

ssh-keygen -t rsa

Vi får veta att nyckeln skapas och vi kommer att bli ombedda att ange filen i vilken den kommer att lagras (som standard kommer den att finnas i vårt hem, i en mapp som heter /.ssh/id_rsa). Vi kan trycka på Enter eftersom den platsen tjänar oss perfekt, och sedan trycker vi på Enter igen de två gånger som vi begärs ange en lösenfras eftersom, kom ihåg, kommer vi att gå in på distans utan att ange några data så vi vill inte ha någon fras heller.

Nu när vi har den offentliga nyckeln måste vi dela den med de datorer som vi ska ansluta till. Förutsatt att servern vi pratar om har adressen 192.168.1.100, vad du måste göra är:

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

Efter kopiering kommer vi att bjudas in till utför fjärranloggningen för att testa nycklarna, och det måste tas med i beräkningen att i detta fall rot Det är kontot som vi ska komma åt servern med, så om vi vill göra det med en annan användare måste vi ändra root för det användarkonto som vi ska utföra åtkomst via SSH.

Nu behöver vi bara starta om SSH-servern så att den tar den nya konfigurationen:

# /etc/init.d/ssh starta om

Från och med nu, om vi vill komma åt en andra server och göra det utan att ange ett lösenord, måste vi helt enkelt skicka det den offentliga nyckeln, med vilken vi helt enkelt upprepar det sista steget och ändrar användaren och IP-adressen efter behov:

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


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   torrmedel sade

    Tack för informationen men ingenting ... det finns inget sätt ....
    Jag har försökt hela morgonen och det ber alltid om mitt lösenord.
    För en tid sedan försökte jag och lämnade det som omöjligt av samma anledning ....
    Jag skapar min nyckel på min Macbook, jag kopierar den till mitt hallon i ~ / .ssh / authorisedKeys
    Jag konfigurerar sshd.conf med offentlig autentisering och verifierar att nyckelkatalogen är exakt där nycklarna är. Jag startar om hallonet och när jag ansluter det ber jag mig om lösenordet igen
    Vad kan misslyckas?

    1.    torrmedel sade

      Efter flera timmar med att prova många saker har jag upptäckt att det med min skapade användare aldrig fungerar, men med standardanvändaren som kallas "ubuntu" fungerar det första gången.
      Något förtydligande om varför detta kan hända?
      Hälsningar och tack