Stel SSH-verbindingen in zonder wachtwoord in slechts 3 stappen

Hallo,

Hier ziet u hoe u op afstand verbinding kunt maken met een pc SSH Voer gewoon de eerste keer het wachtwoord in en zelfs als we beide computers opnieuw opstarten, wordt ons niet opnieuw om het wachtwoord gevraagd.

Maar laten we eerst een korte uitleg bekijken over wat het is SSH:

SSH het is een protocol, een communicatiemiddel tussen twee computers. Het stelt ons in staat om een ​​team op afstand te beheren. Wanneer we via SSH toegang krijgen tot een andere computer, wordt het commando dat we in die terminal invoeren op de andere computer uitgevoerd, op deze manier beheren / controleren we het.

Alles dat wordt overgedragen door SSH, het is gecodeerd en met een aanzienlijk goede beveiliging.

Nu zullen we zien hoe we in slechts drie stappen zullen configureren PC # 1 om toegang te krijgen PC # 2 zonder wachtwoord in te voeren:

We hebben de volgende situatie:

PC # 1 - » U wilt verbinding maken met PC # 2, zonder dat u telkens een wachtwoord hoeft in te voeren als u verbinding probeert te maken met deze andere pc.

PC # 2 - » Je hebt de SSH-server geïnstalleerd. Dit is hem PC # 1 het zal verbinding maken, en het zal dit doen zonder een wachtwoord in te voeren. Op deze pc staat een gebruiker met de naam wortel.

Laten we beginnen…

1. En PC # 1 we schrijven het volgende:

  • ssh-keygen -b 4096 -t rsa

Dit genereert een openbare sleutel. Om niet te verward te raken met "publieke en private sleutels", zal ik het heel eenvoudig uitleggen.

Stel dat je twee sleutels van je huis in je zak hebt, een die je aan je vriendin geeft omdat je samenwoont, en met de andere wordt je alleen gelaten, je geeft hem aan niemand. Met die sleutel die je je vriendin hebt gegeven, kan ze je huis binnenkomen zonder het je te vertellen, zonder je toestemming te vragen, toch? dat is een openbare sleutel, een 'sleutel' waarmee de ene pc toegang krijgt tot een andere pc zonder dat u om uw toestemming hoeft te vragen (dat wil zeggen zonder gebruikersnaam + wachtwoord in te voeren)

Wanneer ze dat commando plaatsen, zal dat verschijnen:

2. Druk gewoon op [Enter], een seconde later drukken we opnieuw [Enter], en een seconde later drukken we nog een keer [Enter]. Ik bedoel, we zouden aandringen [Enter] in totaal drie (3) keer drukken we er alleen op ... we schrijven niets 🙂

Wanneer we dit doen, verschijnt er iets dat erg lijkt op het volgende:

Klaar, we hebben de publieke sleutel al ... nu moeten we hem geven aan wie we maar willen (zoals het voorbeeld, geef hem aan onze vriendin haha)

Wat we willen is dat PC # 1 verbinden aan PC # 2, al in PC # 1 we hebben al het bovenstaande gedaan, in PC # 2 We hebben niets gedaan. Mooi zo, PC # 2 heeft bijvoorbeeld een IP-adres 10.10.0.5.

3. We zetten in PC # 1 het volgende:

  • ssh-kopie-id root@10.10.0.5

Wat dit doet, is u gewoon de openbare sleutel van PC # 1 a PC # 2, dat wil zeggen, het geeft aan PC # 2 de openbare sleutel van PC # 1Terwijl PC # 1 hij bewaart zijn privésleutel, weet je; die sleutel die aan niemand wordt gegeven. Het is belangrijk om geen fouten te maken met de gebruiker, dat wil zeggen, als de gebruiker “wortel"Het bestaat niet op pc # 2, het geeft ons een fout, het is belangrijk om duidelijk te zijn in welke gebruiker we hiervoor zullen gebruiken, naast het feit dat die gebruiker waarmee we toegang zonder wachtwoord configureren, zal zijn hetzelfde waarmee we in de toekomst toegang zullen moeten hebben. Zodra dit is gebeurd, zou het er als volgt uit moeten zien:

In de vorige stap moeten ze het wachtwoord van de gebruiker invoeren PC # 2.

En voila ... alles is geconfigureerd ????

Evenals het lijkt ons in de terminal, laten we testen of alles echt 100% in orde is. Om te testen, plaatsen we:

  • ssh root@10.10.0.5

Als ze ook toegang willen krijgen tot een andere computer zonder altijd een wachtwoord in te voeren (PC # 3 bijvoorbeeld), we geven het gewoon onze publieke sleutel en dat is het, dat wil zeggen, zodra we de stap hebben gedaan #1 y #2 we hoeven het niet meer te doen. Als we toegang willen hebben PC # 3 bijvoorbeeld die heeft door IP 10.10.99.156 we zetten gewoon:

  • ssh root@10.10.99.156

Tot zover de tutorial.

Leg uit dat het beveiligingsniveau als we het over SSH hebben erg hoog is, de metafoor waarmee ik enkele stappen heb uitgelegd (die van het geven van de sleutel aan onze vriendin) misschien niet de meest geschikte haha, aangezien onze vriendin de sleutel aan iemand anders zou kunnen geven. Als we het hebben over SSH, zijn de beveiligingsprincipes gemakkelijk uit te leggen als we proberen toegang te krijgen tot onze computer (PC # 1) controleert of er in pc # 2 een openbare sleutel van onze computer is (in dit geval is dat, omdat we deze op die manier configureren), en als er een is, is het eenvoudig, controleer of die openbare sleutel identiek gelijk is aan onze privésleutel (degene die we aan niemand hebben gegeven). Als de sleutels identiek zijn, hebben we toegang, anders en als veiligheidsmaatregel, kunnen we niet op afstand toegang krijgen tot de andere computer.

Dus nu weet je het ... onze vriendin de huissleutel geven is niet het veiligste, maar sleutels delen en op afstand toegang krijgen tot een andere computer via SSH is veilig ^ _ ^

Twijfels of vragen, klachten of suggesties laat het mij weten.

Groeten aan iedereen.


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.   elav <° Linux zei

    Ik begrijp echt niet hoe je zo paranoïde bent over beveiliging, zo een fout maakt. Als in de stap waar het zegt:

    Enter passphrase (empty for no passphrase)

    We schrijven niets, we zijn verloren als een gebruiker erin slaagt toegang te krijgen tot onze pc en een terminal te openen, omdat deze automatisch het volgende uitvoert:

    ssh root@10.10.0.5

    Het zal binnenkomen zonder om een ​​wachtwoord te vragen.

    1.    KZKG ^ Gaara <° Linux zei

      Als iemand toegang krijgt tot mijn laptop, ja, ze hebben toegang tot pc # 2 zonder het wachtwoord in te hoeven voeren, maar zoals u zegt, ik ben paranoïde over beveiliging, denk je echt dat toegang krijgen tot mijn laptop zo eenvoudig is? HAHA.

      Als ik altijd opsta, vergrendel ik altijd het scherm, anders wordt het scherm na 30 seconden zonder activiteit op de muis of het toetsenbord van de laptop nog steeds vergrendeld 😉

      1.    Jezus zei

        Als iemand uw laptop steelt, ongeacht hoeveel de sessie wordt geblokkeerd, is het verkrijgen van toegang tot de bestanden triviaal, een kwestie van 5 minuten met een Linux-opstartbaar vanaf USB. En als de bestanden eenmaal zijn geopend, kunt u de privésleutel direct gebruiken, of beter kopiëren en comfortabel vanuit uw huis toegang krijgen tot al uw servers. Eigenlijk is het proces zo snel dat je het niet eens hoeft te weten. In 5 minuten ga je naar de badkamer of wat dan ook, alles kan gedaan worden.

        De veilige manier is om een ​​wachtwoord op de privésleutel te plaatsen en vervolgens ssh-agent te gebruiken zodat het het wachtwoord voor de hele sessie onthoudt (gewoon ssh-add). Op deze manier zou het alleen de eerste keer om het wachtwoord vragen, en in de praktijk zou je 90% van de tijd een verbinding zonder wachtwoord hebben, naast dat je beschermd bent tegen diefstal of indringing.

        1.    x11tete11x zei

          Is het triviaal om toegang te krijgen tot de bestanden? Heb je ooit gehoord van volledige schijfversleuteling? (luks + cryptsetup)

          1.    Jezus zei

            Ja, natuurlijk, als je de hele schijf versleuteld hebt, is het een andere zaak, maar 90% van de gebruikers doet het niet omdat ze niet weten hoe ze het moeten doen en in veel gevallen compenseert het hen niet eens. Daarentegen is het niet opslaan van onversleutelde wachtwoorden of onbeschermde privésleutels op schijf iets dat iedereen kan doen, en over het algemeen een goede gewoonte.

            Het opslaan van onbeschermde privésleutels op een gecodeerde schijf is als het parkeren van uw auto met de deuren open, maar het inhuren van een bewaker met een Doberman om deze te beschermen. Het werkt, ja, maar het is veel gemakkelijker en efficiënter om het direct te vergrendelen.

    2.    changoléon zei

      MMm doen niet zo veel aan het pijpen, hoewel ze een virtuele interface kunnen maken, een IP kunnen toewijzen en verbinding kunnen maken met dat virtuele IP-adres, dus zelfs als ze de sleutel verwijderen, zullen ze de machine niet kunnen vinden omdat de sleutel alleen voor een bepaald IP-adres werkt. Het hangt ook af van wat ze willen, het werkt perfect voor mij zoals de kameraad het beschrijft, ik heb een privéserver bij mij thuis. Ik hoef de beveiliging niet te verhogen omdat er een VPN is geconfigureerd.

  2.   samquejo zei

    En kan dit allemaal van toepassing zijn op een Windows-terminal die verbinding moet maken met meerdere * NIX's?
    Ik heb stopverf maar ik kan ook Securecrt gebruiken (nu heb ik het script)

    1.    KZKG ^ Gaara <° Linux zei

      In de Windows-terminal (cmd) ben ik ervan overtuigd dat nee, het zal daar niet mogelijk zijn.
      Als u echter Putty gebruikt, kunt u het proberen, het zou kunnen werken.

      Groeten en welkom op onze site 😀

    2.    erm3nda zei

      Putty accepteert de parameter -pw al in aanvullende opdrachten. (bijv .: -pw12345)
      In feite is Super Putty cooler dan gewoon Putty. (Het is een frame voor Putty)

      Dus je hoeft het niet te zeggen.

  3.   Higi zei

    Bedankt voor de post, erg handig. Het is een beetje saai om voor alles in te loggen op SSH.

    1.    KZKG ^ Gaara zei

      Hallo en heel erg bedankt voor je bezoek en reactie 🙂
      Niets vriend, een genoegen om te weten dat het nuttig was ... als we je op een andere manier kunnen helpen, zijn we meer dan verheugd 😉

      Groeten en welkom op de site.

      1.    adriext zei

        Ik moet verbinding maken met een windonws-pc vanaf mijn linux, net als vanaf mijn terminal

  4.   Roberto zei

    Uitstekend .. het inspireert echt om dit soort tutorials te zien, het maakt dat ik ook mijn ervaringen al vereenvoudigd wil inbrengen, zodat de gemeenschap hiervan kan profiteren. Heel erg bedankt uit El Salvador.

  5.   José Gregorio zei

    Ik maak verbinding met een machine met ubuntu naar een machine die debian heeft, maar het geeft me een fout waarin het niet kan authenticeren en daarom wordt me om het wachtwoord gevraagd. Waarom gebeurt dit? Zou het kunnen dat de versies van de ssh-keygen verschillen of wat er gebeurt?

    1.    KZKG ^ Gaara zei

      Zet hier de fout die het u geeft om u beter te kunnen helpen 😉
      U kunt ook proberen dit in een terminal te plaatsen:
      sudo mv $HOME/.ssh/known_hosts /opt/

      Wat dit doet, is de verbindingen (verbindingsgeschiedenis) SSH opschonen die je hebt gehad.

  6.   kinon zei

    En als ik dezelfde publieke sleutel voor meerdere servers wil gebruiken, kan ik dat dan doen of moet ik een sleutel maken voor elke server waartoe ik toegang wil? Ik ga het toch proberen, maar op een of andere nutteloze server om niet iets nuttigs te verpesten.

    Bedankt en groeten.

    1.    KZKG ^ Gaara zei

      Zoals ik het op mijn laptop heb gedaan, is het een andere sleutel voor elke server, in feite denk ik dat het niet mogelijk is om dezelfde sleutel voor meerdere te gebruiken ... omdat de ID van elke server uniek is, zoals een vingerafdruk

      groeten

      1.    kinon zei

        Hallo heer van het zand. Ik heb sleutels gelezen en ik ontdekte dat het paar sleutels (openbaar en privé) de server-client dienen om uitdagingen te verzenden en te ontvangen en elkaar zo te identificeren, dus het heeft niets te maken met het wachtwoord dat je gebruikt om toegang te krijgen tot de server, de laatste wordt gebruikt om de openbare sleutel in de vertrouwde sleutels van de server te "plakken". U kunt het dus in zoveel gebruiken als u wilt of nodig heeft.

        Ik weet niet of ik het mezelf heb uitgelegd, maar de grap is dat om je sleutelpaar op andere servers te kunnen gebruiken, je na het volgen van je tutorial gewoon het volgende hoeft te doen:

        ssh-copy-id other.user@otra.ip
        schrijf uw wachtwoord voor deze andere server

        En klaar.
        groeten

  7.   Raul zei

    Hallo, bedankt voor de gids, het was de enige die me heeft geholpen. Nu ik het op een ander paar computers wil doen, krijg ik het volgende:

    $ ssh-kopie-id -p 4000 lm11@148.218.32.91

    Ongeldige poort 'umask 077; test -d ~ / .ssh || mkdir ~ / .ssh; cat >> ~ / .ssh / geautoriseerde_keys '

    Bedankt voor uw hulp.

  8.   Duits zei

    Ik heb gedaan wat je ons hebt verteld, maar het blijft me om het wachtwoord vragen. Ik verduidelijk deze verbinding die ik maak tussen twee linux red hat-servers ... Wat zou het anders kunnen zijn?

    Kijk al naar het / etc / ssh / sshd_config

    Ik heb beide servers al opnieuw opgestart

    PC2 = linux red hat 6.4
    PC2 = linux red hat 5.1

    1.    Xavier zei

      De ssh-service moet correct zijn geconfigureerd (/ etc / ssh / sshd_config-bestand op PC2) om te kunnen werken.

  9.   Duits zei

    correctie…

    PC1 = Centos 6.4
    PC2 = Red Hat 5.1

  10.   grivas zei

    Hallo collega's, ik heb de behoefte om een ​​vertrouwensrelatie tot stand te brengen tussen 1 Linux Centos 5.3-server en een Unix Sco5.7, maar ik heb het probleem dat ik bij stap 3 van het kopiëren van de sleutel van Linux naar Unix het bericht / usr / bin krijg / ssh-copy-id: ERROR: Geen identiteiten gevonden, waarom zou dat kunnen?

    bedankt

  11.   Namek zei

    Ik heb de tutorial stap voor stap gevolgd. Het geeft me geen enkele fout, maar als ik uiteindelijk verbinding maak van PC1 naar PC2, blijft het me elke keer dat ik verbinding maak om het root-wachtwoord vragen.

    Denkt iemand wat het zou kunnen zijn?

  12.   Beroven zei

    Het lijkt erop dat u na het genereren van de sleutel ssh-add moet uitvoeren zodat de authenticatieagent deze kan gebruiken.

  13.   Andrea Colodro zei

    Terwijl ik de toegangssleutel verwijder, herkent deze niets, ik ben gehackt, help, hij voert niets in

  14.   Jordan acosta zei

    Heel erg bedankt, het werkte perfect

  15.   miniminimum zei

    Heel erg bedankt voor de gids! Het is heel gemakkelijk en is handig als u uw servers laat lopen en geen sleutels hoeft in te voeren en dus dingen automatiseert 😀

  16.   erm3nda zei

    Dank u.

    Ik was me niet bewust van het gebruik van ssh-copy-id en het is vrij automatisch verlopen.
    De waarheid is dat ik het zat was om het wachtwoord te schrijven, dus wat ik doe is het opslaan met een DEFAULT-parafrase, die tijdens de sessie behouden blijft.

    Ik vind het niet erg om het elke keer dat ik de pc aanzet, een keer te schrijven, de rol moet het elke keer dat het wordt losgekoppeld plaatsen of dat soort dingen

    SSH Geen Jutsu!

  17.   lizzy zei

    hallo

    goede tutorial ... maar als ik informatie wil doorgeven ??? Hoe kan ik het doen?

  18.   Diego Gonzalez zei

    Hallo, je bijdrage is erg interessant, maar ik heb een paar twijfels over een soortgelijk onderwerp

  19.   Carlos Hernandez zei

    Hey.

    Probeer de bovenstaande stappen, maar wanneer ik de sleutel naar server 2 (PC2) probeert te kopiëren, vertelt het me dat de opdracht niet bestaat.

    bash: ssh-copy-id: commando niet gevonden

    Kan ik de sleutel handmatig kopiëren?

  20.   heidi zei

    Uitstekend!! Ik was op zoek naar een uitleg die zo simpel was en die perfect werkte

    dank je wel!

  21.   Yarumal zei

    Uitstekende bijdrage.
    Veel dank.

  22.   Pedro zei

    Hallo, ik vraag me af of er een manier is om dit ssh-copy-id-commando uit te voeren. Sinds ik Open ssh voor Windows installeer, werkt ssh voor mij in DOS, maar het heeft deze opdracht ssh-copy-id niet. Ik zou graag willen weten hoe ik deze publieke sleutel naar de andere linux-server (linux-server) kan sturen. Heel erg bedankt.

  23.   Pedro zei

    Hoi. Ik moet een vertrouwensrelatie tot stand brengen tussen een linux-server en een Windows-machine. Installeer de SSH voor Windows en het werkt voor mij. Maar deze opdracht ssh-copy-id is niet beschikbaar in deze tool.

    Ze kennen een andere manier om het te doen zonder ssh-copy-id te gebruiken.

    Hartelijk dank voor uw opmerkingen.

  24.   Andrinho zei

    Maar de vraag hiervan is om verbinding te kunnen maken zonder wachtwoord, als we een wachtwoordzin zouden plaatsen, zou het ons om die pass vragen om verbinding te maken en het was niet het doel hiervan

  25.   Andrinho zei

    Het is erg handig voor mij geweest voor mijn computer fp-module, bedankt 🙂

  26.   Vicent zei

    Dank je wel!

  27.   x man zei

    Sommigen maken zich zorgen over hoe vervelend het kan zijn om het wachtwoord (wachtwoordzin) in te voeren, daarvoor is het, zoals hierboven vermeld, «user-Agent» en heb ik het ook geconfigureerd met Keepass en zijn Auto-Type-functie, dus ik ik roep gewoon de terminal aan en met de combinatie van sleutels die ze klaar hebben geconfigureerd, heb ik ook "aliassen" voor elk verzoek en alles is heel eenvoudig.

    Goede tutorial.

    Veel plezier hebben !!

  28.   Philip Oyarce zei

    Zeer goede info 🙂 maar ik heb een vraag ...

    Ik heb PC10, waar ik de informatie bewaar, de informatie wordt verzonden van pc1 - pc2 - pc3 naar PC10, hoe kan ik ervoor zorgen dat pc1, pc en pc3 dezelfde sleutel gebruiken om toegang te krijgen tot PC10 zonder sleutel.

    Proost ...

  29.   Nestor zei

    Hoe kan ik een lijst maken van wat er op machine1 staat in de bash van machine2 zonder naar ssh ip @ hosts naar de bash van machine1 te gaan. Ik weet niet of ik xD begrijp

  30.   Martin zei

    Er zijn 10 jaar verstreken sinds deze publicatie en ik blijf het bezoeken wanneer ik het nodig heb. Net als sommige andere tutorials hier hebben ze de tand des tijds doorstaan. Bedankt en groeten!