Configure conexións SSH sen contrasinal en só 3 pasos

Ola,

Aquí verá como conectarse a un PC remotamente mediante SSH só introduce o contrasinal a primeira vez e, aínda que reiniciamos os dous equipos, non se nos solicitará o contrasinal de novo.

Pero, vexamos primeiro unha breve explicación sobre o que é SSH:

SSH é un protocolo, un medio de comunicación entre dous ordenadores. Permítenos xestionar un equipo de xeito remoto. Cando accedemos a outro ordenador por SSH, o comando que introducimos nese terminal executarase no outro equipo, deste xeito xestionámolo / controlámolo.

Todo o que transmite SSH, está cifrado e cunha seguridade bastante boa.

Agora veremos como en só tres pasos configuraremos PC # 1 para acceder PC # 2 sen introducir o contrasinal:

Temos a seguinte situación:

PC # 1 - » Queres conectarte a PC # 2, sen ter que introducir un contrasinal cada vez que tenta conectarse a este outro PC.

PC # 2 - » Ten instalado o servidor SSH. Este é o único PC # 1 conectarase e farao sen introducir un contrasinal. Neste PC hai un usuario chamado raíz.

Comecemos ...

1. En PC # 1 escribimos o seguinte:

  • ssh-keygen -b 4096 -t rsa

Isto xerará unha clave pública. Para non confundirme demasiado coas "claves públicas e privadas", explicareino moi sinxelamente.

Supoñamos que tes dúas chaves da túa casa no peto, unha que dás á túa moza desde que vives xuntas e coa outra quedas só, non a dás a ninguén. Ben, esa chave que lle entregaches á túa moza permitiralle entrar na túa casa sen dicirlle, sen pedir o teu permiso, non? esa é unha clave pública, unha "clave" que permite a un PC acceder a outro sen ter que pedir o seu permiso (é dicir, sen introducir nome de usuario + contrasinal)

Cando poñan ese comando, aparecerá:

2. Só tes que premer [Entrar], un segundo despois prememos de novo [Entrar], e un segundo despois prememos unha vez máis [Entrar]. Quero dicir, presionariamos [Entrar] un total de tres (3) veces, só o prememos ... non escribimos nada 🙂

Cando facemos isto, aparecerá algo moi similar ao seguinte:

Listo, xa temos a clave pública ... agora hai que darlla a quen queiramos (como o exemplo, dala á nosa moza jaja)

O que queremos é iso PC # 1 conectarse a PC # 2, xa en PC # 1 fixemos todo o anterior, en PC # 2 Non fixemos nada. Bo, PC # 2 ten por exemplo unha dirección IP 10.10.0.5.

3. Metemos PC # 1 Seguinte:

  • ssh-copy-id root@10.10.0.5

O que fai isto é simplemente darche a clave pública de PC # 1 a PC # 2, é dicir, dá a PC # 2 a clave pública de PC # 1Mentres PC # 1 garda a súa chave privada, xa sabes; esa clave que non se lle dá a ninguén. É importante non cometer erros co usuario, é dicir, se o usuario "raíz"Non existe no PC # 2, daranos un erro, é importante ter claro en que usuario usaremos para iso, ademais de que ese usuario co que configuramos o acceso sen contrasinal, será o mesmo co que teremos que acceder no futuro". Unha vez feito isto, debería ter o seguinte aspecto:

No paso anterior, deben introducir o contrasinal do usuario PC # 2.

E voilá ... todo está configurado ????

Como nos aparece no terminal, probemos se realmente todo funcionou ao 100%. Para probar, poñemos:

  • ssh root@10.10.0.5

Se queren acceder a outro ordenador tamén sen introducir sempre un contrasinal (PC # 3 por exemplo), simplemente damos a nosa clave pública e xa está, é dicir, unha vez que fixemos o paso #1 y #2 xa non teremos que facelo. Se queremos acceder PC # 3 por exemplo, que ten por IP 10.10.99.156 só poñemos:

  • ssh root@10.10.99.156

Ata aquí o tutorial.

Explique que o nivel de seguridade cando falamos de SSH é realmente alto, a metáfora coa que expliquei algúns pasos (o de dar a chave á nosa noiva) pode que non sexa o máis adecuado jaja, xa que a nosa moza podería dar a chave para alguén máis. Cando falamos de SSH, os principios de seguridade son fáciles de explicar, cando intentamos acceder ao noso ordenador (PC # 1) comproba se no PC # 2 hai unha clave pública do noso ordenador (neste caso hai, porque a configuramos así), entón, se a hai, é sinxelo, comproba se esa clave pública é idéntica á mesma que a nosa clave privada (a que non llo demos a ninguén). Se as claves son idénticas permítenos acceder, doutro xeito e como medida de seguridade, non nos permite acceder remotamente ao outro ordenador.

Entón agora xa sabes ... dar á nosa moza a chave da casa non é o máis seguro, pero compartir claves e acceder a outro ordenador remotamente mediante SSH é seguro ^ _ ^

Fáganme saber dúbidas ou preguntas, queixas ou suxestións.

Saúdos a todos.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

43 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   elav <° Linux dixo

    Realmente non entendo como vostede é tan paranoico coa seguridade comete un erro así. Se está no paso onde di:

    Enter passphrase (empty for no passphrase)

    Non escribimos nada, perdémonos se un usuario consegue acceder ao noso PC e abrir un terminal, xa que executa automaticamente:

    ssh root@10.10.0.5

    Entrará sen pedir contrasinal.

    1.    KZKG ^ Gaara <° Linux dixo

      Se alguén accede ao meu portátil, si, pode acceder ao PC # 2 sen ter que introducir o seu contrasinal. Non obstante, como dis, estou paranoico en canto á seguridade, realmente cres que acceder ao meu portátil é algo tan sinxelo? HAHA.

      Cando sempre me levanto, sempre bloqueo a pantalla, se non, despois de 30 segundos de non haber actividade no rato ou no teclado do portátil, aínda se bloqueará 😉

      1.    Xesús dixo

        Se alguén rouba o seu portátil, por moito que a sesión estea bloqueada, o acceso aos ficheiros é trivial, cuestión de 5 minutos cun arranque Linux desde USB. E unha vez que se accede aos ficheiros, xa que a clave privada non está protexida, pode usala directamente ou mellor copiala e acceder cómodamente a calquera dos seus servidores desde a súa casa. En realidade, o proceso é tan rápido que nin sequera terías que sabelo. En 5 minutos vas ao baño ou o que sexa, xa se pode facer todo.

        O xeito seguro é poñer un contrasinal na clave privada e despois usar ssh-agent para que lembre o contrasinal de toda a sesión (só ten que engadir ssh). Deste xeito, só pediría o contrasinal a primeira vez e, na práctica, terías unha conexión sen contrasinal o 90% das veces, ademais de estar protexido contra roubos ou intrusións.

        1.    x11tete11x dixo

          É trivial acceder aos ficheiros? Algunha vez escoitou falar do cifrado completo do disco? (luks + cryptsetup)

          1.    Xesús dixo

            Si, por suposto, se tes todo o disco cifrado é outra historia, pero o 90% dos usuarios non o fan porque non saben como facelo e en moitos casos nin sequera os compensa. Pola contra, non gardar contrasinais non cifrados ou claves privadas sen protección no disco é algo que todos poden facer e unha boa práctica en xeral.

            Gardar claves privadas non protexidas nun disco cifrado é como aparcar o coche deixando as portas abertas, pero contratar un garda de seguridade cun doberman para protexelo. Funciona, si, pero é moito máis doado e eficiente bloquealo directamente.

    2.    changoleón dixo

      Os MMm non lle fan tanto á mamada, aínda que poden crear unha interface virtual, asignar unha IP e conectarse con esa IP virtual, polo que aínda que eliminen a clave non poderán atopar a máquina porque a clave só funciona para unha IP determinada. Tamén depende do que queiran, funciona perfectamente para min como o describe o compañeiro, teño un servidor privado na miña casa non necesito aumentar a seguridade porque ten unha VPN configurada.

  2.   samquejo dixo

    E todo isto pode aplicarse a un terminal de Windows que ten que conectarse a varios * NIX?
    Teño masilla pero tamén podo usar Securecrt (agora téñoo con guión)

    1.    KZKG ^ Gaara <° Linux dixo

      No terminal de Windows (cmd) estou convencido de que non, non será posible alí.
      Non obstante, se usas Putty poderías probalo, podería funcionar.

      Un saúdo e benvido ao noso sitio 😀

    2.    erm3nda dixo

      Putty xa acepta o parámetro -pw en comandos adicionais. (ex: -pw12345)
      De feito, Super Putty é máis fresco que o simple Putty. (É un marco para Putty)

      Non tes que poñelo.

  3.   higi dixo

    Grazas pola publicación, moi útil. É un pouco aburrido iniciar sesión en SSH para todo.

    1.    KZKG ^ Gaara dixo

      Ola e moitas grazas pola súa visita e comentario 🙂
      Nada amigo, un pracer saber que foi útil ... se podemos axudalo doutro xeito, estamos máis que encantados 😉

      Saúdos e benvidos ao sitio.

      1.    adriext dixo

        Necesito conectarme a unha computadora windonws desde o meu linux como desde o meu terminal

  4.   Roberto dixo

    Excelente .. realmente inspira ver este tipo de tutoriais, dame ganas de contribuír tamén coas miñas experiencias xa simplificadas para que a comunidade poida aproveitalas. Moitas grazas desde El Salvador.

  5.   José Gregorio dixo

    Estou conectando cunha máquina con ubuntu a unha que ten debian pero dame un erro no que non pode autenticarse e, polo tanto, pídeme o contrasinal .. por que vai pasar isto? É que as versións do ssh-keygen difiren ou que está a suceder?

    1.    KZKG ^ Gaara dixo

      Pon aquí o erro que che dá para poder axudalo mellor 😉
      Ademais, podes probar a poñer isto nun terminal:
      sudo mv $HOME/.ssh/known_hosts /opt/

      O que fai isto é limpar as conexións (historial de conexións) SSH que tivo.

  6.   kinon dixo

    E se quixera usar a mesma clave pública para varios servidores, podería facelo ou teño que crear unha clave para cada servidor ao que quero acceder? Vouno probar de todos os xeitos, pero nalgún servidor inútil para non estragar algo útil.

    Grazas e saudos.

    1.    KZKG ^ Gaara dixo

      Como o fixen no meu portátil, é unha clave diferente para cada servidor, de feito, creo que non é posible usar a mesma clave para varios ... porque a identificación de cada servidor é única, como unha impresión dixital 🙂

      lembranzas

      1.    kinon dixo

        Ola señor da area. Estiven lendo claves e descubrín que o par de claves (públicas e privadas) serven ao servidor-cliente para enviar e recibir retos e así identificarse, polo que non ten nada que ver co contrasinal que usa para acceder ao servidor, este último úsase para "pegar" a clave pública nas de confianza do servidor. Podes usalo en cantas queiras ou necesites.

        Non sei se me expliquei, pero a broma é que para poder usar o teu par de claves noutros servidores, despois de seguir o teu tutorial, só tes que facer:

        ssh-copy-id outro.usuario@otra.ip
        escriba o seu contrasinal para este outro servidor

        E listo.
        lembranzas

  7.   Raúl dixo

    Ola, grazas pola guía, foi a única que me axudou. Agora que quero facelo noutro par de ordenadores, recibo o seguinte:

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

    Mala porta 'máscara 077; proba -d ~ / .ssh || mkdir ~ / .ssh; gato >> ~ / .ssh / chaves_autorizadas '

    Grazas pola axuda.

  8.   alemán dixo

    Fixen o que nos dixo, pero segue pedíndome o contrasinal. Aclaro esta conexión que estou a facer entre dous servidores Linux hat vermellos ... Que máis podería ser?

    Xa mirei o / etc / ssh / sshd_config

    Xa reiniciei os dous servidores

    PC2 = sombreiro vermello Linux 6.4
    PC2 = sombreiro vermello Linux 5.1

    1.    Xavier dixo

      O servizo ssh debe estar configurado correctamente (ficheiro / etc / ssh / sshd_config en PC2) para que funcione.

  9.   alemán dixo

    corrección ...

    PC1 = Centos 6.4
    PC2 = Red Hat 5.1

  10.   grivas dixo

    Ola compañeiros, teño a necesidade de establecer unha relación de confianza entre 1 servidor Linux Centos 5.3 e un Unix Sco5.7 pero teño o problema de que ao facer o paso 3 de copiar a clave de Linux a Unix recibo a mensaxe / usr / bin / ssh-copy-id: ERRO: Non se atoparon identidades, por que podería ser?

    grazas

  11.   nomek dixo

    Seguín o tutorial paso a paso. Non me produce ningún erro, pero ao final cando me conecto de PC1 a PC2 segue pedíndome o contrasinal de root cada vez que me conecto.

    Alguén pensa cal podería ser?

  12.   Roubar dixo

    Parece que despois de xerar a clave tes que executar ssh-add para que o axente de autenticación poida usala.

  13.   Andrea Colodro dixo

    Cando elimino a clave de acceso, non recoñece nada, pirateáronme, axuda, non entra en nada

  14.   Jordan acosta dixo

    Moitas grazas, funcionou perfectamente

  15.   miniminiyo dixo

    Moitas grazas pola guía! É moi sinxelo e resulta útil para cando tes os teus servidores andando e non ter que estar introducindo claves e así automatizar as cousas 😀

  16.   erm3nda dixo

    Grazas.

    Descoñecía o uso de ssh-copy-id e foi bastante automático.
    A verdade é que estiven ata o punto de escribir o contrasinal, así que o que fago é gardalo cunha paráfrase DEFAULT, que se mantén durante a sesión.

    Non me importa escribilo unha vez que acendo o PC, o rollo ten que poñelo cada vez que se desconecta ou cousas polo estilo

    SSH Non Jutsu!

  17.   liz dixo

    Ola

    bo titorial ... pero se quero pasar información ??? como podo facelo?

  18.   Diego González dixo

    Ola, a túa contribución é moi interesante, pero teño un par de dúbidas sobre un tema similar

  19.   Carlos Hernández dixo

    Olá

    Probe os pasos anteriores, pero ao intentar copiar a clave no servidor 2 (PC2) dime que o comando non existe.

    bash: ssh-copy-id: comando non atopado

    Podo copiar a clave manualmente?

  20.   heidi dixo

    Excelente !! Buscaba unha explicación tan sinxela e funcionara perfectamente

    grazas!

  21.   Yarumal dixo

    Excelente contribución.
    Moitas grazas, axudoume moito.

  22.   Peter dixo

    Ola, gustaríame saber se hai un xeito de facer este comando ssh-copy-id. Dende que instalo Open ssh para Windows, ssh funciona para min en DOS pero non ten este comando ssh-copy-id. Gustaríame saber como enviar esta clave pública ao outro servidor linux (servidor linux). Moitas grazas.

  23.   Peter dixo

    Ola. Necesito establecer unha relación de confianza entre un servidor Linux e unha máquina Windows. Instala o SSH para Windows e funciona para min. Pero este comando ssh-copy-id non está dispoñible nesta ferramenta.

    Saben doutro xeito de facelo sen usar ssh-copy-id.

    Moitas grazas polos teus comentarios.

  24.   Andrinho dixo

    Pero a cuestión disto é poder conectarnos sen contrasinal, se poñemos unha frase de contrasinal pediríanos ese paso para conectarnos e non era o obxectivo desta

  25.   Andrinho dixo

    Resultoume moi útil para o módulo fp do meu ordenador, grazas 🙂

  26.   Vicente dixo

    Grazas!!!

  27.   x-home dixo

    Algúns se preocupan do molesto que poida ter ter que introducir o contrasinal (frase de contrasinal), para iso, como se mencionou anteriormente, é «usuario-axente» e que tamén o teño configurado con Keepass e a súa función Auto-Type, polo que só Invoco o terminal e coa combinación de teclas que configuraron lista, tamén teño "alias" para cada solicitude e todo é moi sinxelo.

    Bo titorial.

    Divírtete moito !!

  28.   Philip Oyarce dixo

    Moi boa información 🙂 pero teño unha pregunta ...

    Teño PC10 que é onde gardo a información, a información envíase de pc1 - pc2 - pc3 a PC10, como podo facer que pc1, pc e pc3 usen a mesma clave para acceder a PC10 sen clave.

    Graciñas ...

  29.   Nestor dixo

    Como podo listar o que hai en machine1 no bash de machine2 sen ir poñer ssh ip @ hosts ao bash de machine1. Non sei se entendo xD

  30.   Martin dixo

    Pasaron 10 anos desde esta publicación e sigo visitándoa sempre que a necesito. Como algúns outros titoriais aquí resistiron a proba do tempo. Grazas e saudos!