Configura connexions SSH sense contrasenya en només 3 passos

Hola,

Aquí veuran el com connectar-se a un PC remotament per SSH tan sols introduint el password una primera vegada, després encara reiniciem els dos ordinadors, no se'ns tornarà a demanar el password.

Però, primer vegem una breu explicació sobre què és SSH:

SSH és un protocol, un mitjà de comunicació entre dos ordinadors. Ens permet administrar un equip de forma remota. Quan accedim per SSH a un altre equip, la comanda que introduïm en aquesta terminal s'executarà en l'altre equip, d'aquesta manera l'administrem / controlem.

Tot el que es transmeti per SSH, Va encriptat i amb una seguretat considerablement bona.

Ara, veurem com en només tres passos configurarem PC # 1 perquè accedeixi a PC # 2 sense introduir contrasenya:

Tenim la següent situació:

PC # 1 - » Voleu connectar-se a PC # 2, Sense haver d'escriure password cada vegada que s'intenti connectar a aquesta altra PC.

PC # 2 - » Té instal·lat el servidor SSH. Aquesta és a la que PC # 1 es connectarà, i ho farà sense introduir password. En aquesta PC hi ha un usuari anomenat root.

Comencem ...

1. En PC # 1 escrivim el següent:

  • ssh-keygen -b 4096 -t rsa

Això generarà una clau pública. Per no enredar-molt amb "claus públiques i privades", ho explicaré de forma molt simple.

Suposem que tens dues claus de casa teva a la butxaca, un es la dónes a la teva núvia ja que viuen junts, i amb l'altra et quedes sol tu, no la dónes a ningú. Bé, aquesta clau que li dona a la núvia, li permetrà entrar a casa sense dir-t'ho, sense demanar-te permís no? això és una clau pública, una "clau" que permet que un PC accedeixi a una altra sense haver de demanar-te permís (o sigui, sense posar usuari + password)

Quan posin aquest comando, els apareixerà això:

2. simplement pressionem [Entrar], Un segon després tornem a pressionar [Entrar], I un segon després tornem una vegada més a pressionar [Entrar]. O sigui, presionaríamos [Entrar] un total de tres (3) vegades, només ho pressionem ... no escrivim res 🙂

Quan fem això, ens apareixerà una cosa molt similar al següent:

A punt, ja tenim la clau pública ... ara falta donar-la a qui vulguem (com l'exemple, donar-la a la nostra núvia jaja)

El que volem és que PC # 1 es connecti a PC # 2, Ja en PC # 1 vam fer tot l'anterior, en PC # 2 no hem fet res. bé, PC # 2 té d'adreça IP per exemple 10.10.0.5.

3. posem a PC # 1 el següent:

  • ssh-copy-id root@10.10.0.5

Això el que fa és simplement donar-li la clau pública de PC # 1 a PC # 2, És a dir, li dóna a PC # 2 la clau pública de PC # 1, Mentre que PC # 1 es queda amb la seva clau privada, ja saben; aquesta clau que no se li dóna a ningú. És important no equivocar-se amb l'usuari, és a dir, si l'usuari "root"No existeix en PC # 2 ens donarà error, és important estar clar en quin usuari farem servir per això, a part que aquell usuari amb que configurem l'accés sense contrasenya, serà el mateix amb què haurem d'accedir en el futur. En aquest punt ens ha de quedar així:

En el pas anterior, han de posar el password d'l'usuari a PC # 2.

I a punt ... ja està tot configurat ????

Com bé ens apareix a la terminal, provem si de debò tot va funcionar 100% OK. Per provar, posem:

  • ssh root@10.10.0.5

Si voleu accedir a un altre ordinador també sense introduir password sempre (PC # 3 per exemple), simplement li donem la nostra clau pública i llest, és a dir, una vegada que haguem fet el pas #1 y #2 no ho haurem de fer mai més. Si volem accedir a PC # 3 per exemple, que té per IP 10.10.99.156 tan sols posem:

  • ssh root@10.10.99.156

Fins aquí el tutorial.

Explicar que, el nivell de seguretat quan parlem de SSH és realment alt, la metàfora amb què vaig explicar alguns passos (la de donar-li la clau a la nostra núvia) potser no és la més adequada jaja, ja que la nostra núvia podria donar-li la clau a algú més. Quan parlem de SSH, els principis de seguretat són fàcils d'explicar, quan intentem accedir nostre ordinador (PC # 1) Comprova si en PC # 2 hi ha una clau pública del nostre ordinador (en aquest cas sí que n'hi ha, perquè així ho configurem), llavors, d'haver-la és simple, comprova si aquesta clau pública és idènticament igual a la nostra clau privada (aquesta que no li vam donar a ningú). Si les claus són idèntiques ens deixa accedir, en cas contrari i com a mesura de seguretat, no ens deixa accedir remotament a l'altre ordinador.

Així que ja saben ... donar-li la clau de casa a la nostra núvia no és el més segur, però compartir claus i accedir remotament per SSH a un altre ordinador, sí és segur ^ _ ^

Dubtes o preguntes, queixes o suggeriments me les deixen saber.

Salutacions a tots.


43 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   ILAV <° Linux va dir

    De debò no entenc com tu sent tan paranoic amb la seguretat estels semblant error. Si en el pas on diu:

    Enter passphrase (empty for no passphrase)

    No escrivim res, estem perdut si un usuari aconsegueix accedir a la nostra PC i obrir un terminal, ja que automàticament que executi:

    ssh root@10.10.0.5

    Entrarà sense demanar contrasenya.

    1.    KZKG ^ Gaara <° Linux va dir

      Si algú guanya accés al meu portàtil, sí, podrà accedir a PC # 2 sense necessitat de posar el password d'aquesta, no obstant això com bé dius, sóc un paranoic de la seguretat, creus de debò que guanyar accés al meu portàtil és una cosa tan simple? JAJA.

      Quan em llevo sempre, sempre bloqueig la pantalla, en cas contrari als 30 segs que no hi hagi activitat en el ratolí o teclat de la portàtil, es bloquejarà igual 😉

      1.    Jesús va dir

        Si algú et roba el portàtil, per molt bloqueig de la sessió que hi hagi guanyar accés als fitxers és trivial, qüestió de 5 minuts amb un linux arrencable des d'USB. I un cop accedit als fitxers, com la clau privada està sense protecció la pot fer servir directament, o millor copiársela i accedir còmodament des de casa a qualsevol dels teus servidors. En realitat, el procés és tan ràpid que no tindries ni per què assabentar-te. En 5 minuts que vagis a el bany o al que sigui, ja es pot fer tot.

        La manera més ràpida és posar-li una contrasenya a la clau privada, i aleshores utilitzar ssh-agent perquè recordi la contrasenya durant tota la sessió (només cal fer ssh-add). D'aquesta forma només demanaria la contrasenya la primera vegada, i en la pràctica tindries connexió sense password el 90% del temps, a més d'estar protegit davant de robatoris o intrusions.

        1.    x11tete11x va dir

          trivial accedir als fitxers ?, vas escoltar alguna vegada de la encriptació del disc complet? (Luks + cryptsetup)

          1.    Jesús va dir

            Sí, és clar, si tens tot el disc xifrat ja és un altre cantar, però el 90% dels usuaris no ho fan perquè no saben fer-ho i en molts casos ni tan sols els compensa. En canvi, no guardar en disc contrasenyes sense xifrar o claus privades sense protegir és una cosa a l'abast de qualsevol, i una bona pràctica en general.

            Això de guardar les claus privades sense protecció en un disc xifrat és com aparcar el cotxe deixant les portes obertes, però contractant un guàrdia de seguretat amb un doberman per protegir-lo. Funciona, sí, però és molt més fàcil i eficient directament tancar-lo amb clau.

    2.    changoleon va dir

      Mmm no li facin tant a la mamada, tot i que poden crear una interfície virtual, assignar-li una IP i connectar-se amb aquesta IP virtual, així encara que et treguin la clau no podran trobar la màquina per que la clau només funciona per a una certa IP. A més depèn perquè ho vulguin, a mi em funciona perfectament com el descriu el camarada, tinc un servidor privat en la meva llar no necessito augmentar la seguretat per que té configurada una VPN.

  2.   Samquejo va dir

    ¿I tot això es pot aplicar a un terminal Windows que ha de connectar-se a múltiples * NIX?
    Tinc putty però puc utilitzar també Securecrt (ara el tinc scripteado)

    1.    KZKG ^ Gaara <° Linux va dir

      En el terminal de Windows (cmd) estic convençut que no, aquí no serà possible.
      No obstant si fas servir Putty podries provar-ho, podria funcionar.

      Salutacions i benvingut al nostre lloc 😀

    2.    erm3nda va dir

      Putty ja accepta el paràmetre -pw a ordres adicionals. (Ex: -pw12345)
      De fet Super Putty mola més que utilitzar Putty a seques. (És un marc per Putty)

      Així no ho has d'estar posant.

  3.   HIGI va dir

    Gràcies pel post, molt útil. És una mica avorrit tant logueo al SSH per a tot.

    1.    KZKG ^ Gaara va dir

      Hola i mil gràcies per la teva visita i comentari 🙂
      Res amic, tot un plaer saber que et va ser d'ajuda ... si podem ajudar-te d'alguna altra manera, nosaltres més que encantats 😉

      Salutacions i benvingut a el lloc.

      1.    Adrianext va dir

        necessito connectar a una pc windonws des del meu linux com ho ago des del meu terminal

  4.   Roberto va dir

    Excel·lent .. de veritat que inspira veure aquest tipus de tutorials, em donen ganes d'aportar també les meves experiències ja simplificades perquè la comunitat pugui aprobecharlas. Gràcies de veritat des del Salvador.

  5.   Jose Gregorio va dir

    m'estic connectant amb una màquina amb Ubuntu cap a una que té debian però em donar un erro en el qual no pot autenticar i per tant em demana la clau .. per que succeirà això? serà que les versions de l'ssh-keygen difereixen o que sera el que està passant?

    1.    KZKG ^ Gaara va dir

      Posa aquí l'error que et dóna per poder-te ajudar millor 😉
      També, pots intentar posant això en una terminal:
      sudo mv $HOME/.ssh/known_hosts /opt/

      Això el que fa és netejar les connexions (historial de connexions) SSH que hagis tingut.

  6.   Kinon va dir

    I si volgués fer servir la mateixa clau pública per a diversos servidors, ho podria fer, o he de crear una clau per cada servidor a qui vulgui accedir? Que ho vaig a provar de totes maneres, però en algun servidor inútil per no donar a l'trast amb algun útil.

    Gràcies i salutacions.

    1.    KZKG ^ Gaara va dir

      Jo com el tinc fet en el meu portàtil és una clau diferent per a cada servidor, de fet, crec que no és possible usar una mateixa clau per a diversos ... doncs la identificació de cada servidor és únic, com una empremta dactilar 🙂

      Salutacions

      1.    Kinon va dir

        Hola senyor de la sorra. He estat llegint de claus i vaig trobar que el parell de claus (pública i privada) serveixen a l'servidor-client per enviar i rebre desafiaments i així identificar-se un a l'altre, de manera que no té res a veure amb la contrasenya que fas servir per accedir a l' servidor, aquesta última serveix per poder «enganxar» la clau pública a les de confiança de servidor. Així que pots utilitzar-la en tants com vulguis o necessitis.

        No sé si em vaig explicar, però l'acudit és que per poder utilitzar el teu parell de claus en altres servidors, després d'haver seguit el teu tut, només has de fer:

        ssh-copy-id un altre.usuari@altra.ip
        escriure la contrasenya d'aquest altre servidor

        I llest.
        Salutacions

  7.   Raúl va dir

    Hola, gràcies per la guia, va ser l'única que em va servir. Ara que vull fer-ho en un altre parell d'ordinadors obtinc el següent:

    $ Ssh-copy-id -p 4000 lm11@148.218.32.91

    Bad port 'umask 077; test -d ~ / .ssh || mkdir ~ / .ssh; cat >> ~ / .ssh / authorized_keys '

    Gràcies per la teva ajuda.

  8.   Alemany va dir

    Vaig fer el que vostè ens va indicar, però em segueix demanant el paswword. Aclareixo aquesta connexió l'estic fent entre dos servidors linux xarxa hat ... Que mes podria ser ?.

    Ja miri el / etc / ssh / sshd_config

    ja torna a arrencar tots dos servidors

    PC2 = linux xarxa hat 6.4
    PC2 = linux xarxa hat 5.1

    1.    Javier va dir

      Cal configurar correctament el servei ssh (arxiu / etc / ssh / sshd_config a PC2) perquè funcioni.

  9.   Alemany va dir

    correcció ...

    PC1 = Centenars 6.4
    PC2 = Red Hat 5.1

  10.   Grives va dir

    Hola companys, tinc la necessitat d'establir relació de confiança entre 1 server Linux Centos 5.3 i un Unix Sco5.7 però tinc el problema que a l'fer el pas 3 de copiar la clau de l'Linux a l'Unix m'apareix el missatge / usr / bin / ssh-copy-id: ERROR: No identities found per que pot ser?

    Gràcias

  11.   namek va dir

    He seguit el tutorial pas per pas. No em dóna cap error, però a la fi quan em connecto des PC1 a PC2 em segueix demanant la contrasenya de root cada vegada que em connecto.

    A algú se li ocorre que pot ser?

  12.   Robar va dir

    Sembla que després de generar la clau cal executar ssh-add perquè l'agent d'autenticacion pugui usar-la.

  13.   andrea Colodro va dir

    com esborro clau accés no reconeix res vaig anar hakeada ajuda, no entra a res

  14.   Jordan Acosta va dir

    Moltes gràcies, funciono perfecte

  15.   miniminiyo va dir

    Moltes gràcies per la guia! És molt fàcil i va molt bé per quan tens els teus servidors per ahi caminant i no haver d'estar ficant claus i així autoamtizar coses 😀

  16.   erm3nda va dir

    Gràcies.

    Desconeixia l'ús de ssh-copy-id i ha resultat bastant automàtic.
    La veritat és que estava fins al monyo d'estar escrivint la contrasenya, així que el que faig és guardar-la amb paráfrase PER DEFECTE, cosa que es manté durant la sessió.

    No m'importa escriure-un cop cada vegada que encenc el PC, el rotllo és haver de posar-la cada vegada que es desconnecta o coses així 😀

    SSH No Jutsu!

  17.   Lizz va dir

    Hola

    bon tutorial .. .però si vull passar informació ??? com puc fer-ho?

  18.   Diego González va dir

    Hola molt interessant el teu aporti, però tinc un parell de dubtes sobre un tema similar

  19.   Carlos Hernández va dir

    Hola.

    Proveu els passos anteriors, però a l'intentar copiar la clau a l'servidor 2 (PC2) em diu que no existeix la comanda.

    bash: ssh-copy-id: command not found

    Es pot fer la còpia de la clau de forma manual?

  20.   heidi va dir

    excel·lent !! estava buscant una explicació així de senzilla i va funcionar perfecte

    gràcies!

  21.   Yarumal va dir

    Excel·lent aportació.
    Mil gràcies m'ha servit molt.

  22.   Pedro va dir

    Hola, voldria saber si hi ha una forma de realitzar aquesta comanda ssh-copy-id. Ja que instal Open ssh per a Windows, a l'ssh em funciona en DOS però no té aquesta comanda ssh-copy-id. Voldria saber com enviar aquesta clau publica a l'altre servidor de linux (linux server). Moltes gràcies.

  23.   Pedro va dir

    Hola. Necessito establir una relació de confiança entre un servit linux i un equip Windows. Instal·leu el SSH per Windows i em funciona. Però aquesta comanda ssh-copy-id no està disponible en aquesta eina.

    Saben d'alguna altra forma de fer-ho sense utilitzar ssh-copy-id.

    Moltes gràcies pels seus comentaris.

  24.   Andrinho va dir

    Però la qüestió d'això és poder connectar sense contrasenya, si posem una passphrase ens demanaria aquesta pass per connectar i no era l'objectiu d'això

  25.   Andrinho va dir

    a mi m'ha estat molt útil per a mi mòdul de fp d'informatica, gràcies 🙂

  26.   Vicent va dir

    Gràcies!

  27.   x-home va dir

    Alguns es preocupen pel molest que pot ser haver d'introduir el password (passphrase), per a això com bé comenten més amunt està «user-Agent» i que a més jo ho tinc configurat amb Keepass i la seva funció Auto-Type, així que només invoco la terminal i amb la combinació de tecles que tinguin configurada llest, també tinc «àlies» per cada sol·licitud i tot molt fàcil.

    Bon tutorial.

    Have a lot of Fun !!

  28.   Felip Oyarce va dir

    Molt bona info 🙂 però tinc un dubte ...

    Tinc PC10 que és on guardo la informació, la informació és enviada des PC1 - PC2 - PC3, a l'PC10, com puc fer que PC1, pc i PC3, usin la mateixa clau per a accedir sense clau a PC10.

    Salutacions ...

  29.   Nestor va dir

    Com puc llistar el q hi ha a la maquina1 al bash d'una maquina2 sense anar em a ficar ssh ip @ hosts a l'bash de maquina1. No se si em dono a entendre xD

  30.   Martin va dir

    Han passat 10 anys d'aquesta publicacion i segueixo visitant-cada que ho requereixo. Com alguns altres tutorials d'aqui han superat la prova de el temps. Gràcies i salutacions!