Configure conexões SSH sem senha em apenas 3 etapas

Olá,

Aqui você verá como se conectar a um PC remotamente por SSH Basta inserir a senha na primeira vez, então mesmo que reiniciemos os dois computadores, não será solicitada a senha novamente.

Mas, primeiro vamos ver uma breve explicação sobre o que é SSH:

SSH é um protocolo, um meio de comunicação entre dois computadores. Isso nos permite gerenciar uma equipe remotamente. Quando acessamos outro computador por SSH, o comando que inserirmos naquele terminal será executado no outro computador, desta forma o gerenciamos / controlamos.

Tudo o que é transmitido por SSH, é criptografado e com uma segurança consideravelmente boa.

Agora, veremos como em apenas três etapas configuraremos PC # 1 acessar PC # 2 sem inserir a senha:

Temos a seguinte situação:

PC # 1 - » Você deseja se conectar a PC # 2, sem ter que inserir uma senha sempre que tentar se conectar a este outro PC.

PC # 2 - » Você tem o servidor SSH instalado. É esse PC # 1 irá se conectar e fará isso sem inserir uma senha. Neste PC há um usuário chamado raiz.

Comecemos…

1. En PC # 1 nós escrevemos o seguinte:

  • ssh-keygen -b 4096 -t rsa

Isso irá gerar uma chave pública. Para não ficar muito confuso com "chaves públicas e privadas", explicarei de forma muito simples.

Suponha que você tenha duas chaves da sua casa no bolso, uma que você dá para a sua namorada porque moram juntos, e com a outra você fica sozinho, não dá para ninguém. Bem, aquela chave que você deu para sua namorada vai permitir que ela entre na sua casa sem te avisar, sem pedir sua permissão, certo? que é uma chave pública, uma "chave" que permite a um PC acessar outro sem ter que pedir sua permissão (isto é, sem inserir nome de usuário + senha)

Quando eles colocarem esse comando, isso aparecerá:

2. Basta apertar [Entrar], um segundo depois pressionamos novamente [Entrar], e um segundo depois pressionamos mais uma vez [Entrar]. Quer dizer, íamos pressionar [Entrar] um total de 3 (três) vezes, só pressionamos ... não escrevemos nada 🙂

Quando fazemos isso, algo muito semelhante ao seguinte aparecerá:

Pronto, já temos a chave pública ... agora precisamos dar para quem quisermos (como o exemplo dá pra nossa namorada haha)

O que queremos é isso PC # 1 conectar a PC # 2, e em PC # 1 fizemos todos os itens acima, em PC # 2 Não fizemos nada. Boa, PC # 2 tem um endereço IP por exemplo 10.10.0.5.

3. Nós colocamos em PC # 1 seguinte:

  • ssh-cópia-id root@10.10.0.5

O que isso faz é simplesmente fornecer a chave pública de PC # 1 a PC # 2, isto é, dá para PC # 2 a chave pública de PC # 1Enquanto PC # 1 ele mantém sua chave privada, você sabe; aquela chave que não é dada a ninguém. É importante não cometer erros com o usuário, ou seja, se o usuário “raiz“Se não existir no PC # 2 vai nos dar um erro, é importante deixar claro qual usuário usaremos para isso, além de que aquele usuário com o qual configuramos o acesso sem senha, será o mesmo com o qual teremos que acessar no futuro. Depois de fazer isso, deve ficar assim:

Na etapa anterior, eles devem colocar a senha do usuário em PC # 2.

E voila ... está tudo configurado ????

Como aparece no terminal, vamos testar se tudo realmente funcionou 100% OK. Para testar, colocamos:

  • ssh raiz@10.10.0.5

Se quiserem acessar outro computador também sem digitar sempre uma senha (PC # 3 por exemplo), simplesmente damos nossa chave pública e pronto, isto é, uma vez que tenhamos executado a etapa #1 y #2 não teremos mais que fazer isso. Se quisermos acessar PC # 3 por exemplo, que tem por IP 10.10.99.156 acabamos de colocar:

  • ssh raiz@10.10.99.156

Até agora, o tutorial.

Explicar que, el nivel de seguridad cuando hablamos de SSH es realmente alto, la metáfora con que expliqué algunos pasos (la de darle la llave a nuestra novia) tal vez no sea la más adecuada jaja, ya que nuestra novia podría darle la llave a alguem mais. Quando falamos sobre SSH, os princípios de segurança são fáceis de explicar, quando tentamos acessar nosso computador (PC # 1) verifica se no PC # 2 existe uma chave pública do nosso computador (neste caso existe, porque o configuramos dessa forma), então, se houver, é simples, verifique se essa chave pública é identicamente igual a nossa chave privada (aquela que não demos a ninguém). Se as chaves forem idênticas, permite-nos o acesso, caso contrário e como medida de segurança, não nos permite aceder remotamente ao outro computador.

Agora você sabe ... dar a chave da casa para nossa namorada não é a coisa mais segura, mas compartilhar chaves e acessar outro computador remotamente via SSH é seguro ^ _ ^

Dúvidas ou dúvidas, reclamações ou sugestões me avisem.

Saudações todos.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   elav <° Linux dito

    Eu realmente não entendo como você sendo tão paranóico com segurança comete tal erro. Se estiver na etapa em que diz:

    Enter passphrase (empty for no passphrase)

    Não escrevemos nada, ficamos perdidos se um usuário consegue acessar nosso PC e abrir um terminal, pois ele executa automaticamente:

    ssh root@10.10.0.5

    Ele entrará sem pedir uma senha.

    1.    KZKG ^ Gaara <° Linux dito

      Se alguém obtiver acesso ao meu laptop, sim, ele pode acessar o PC # 2 sem precisar digitar sua senha, no entanto, como você diz, sou paranóico com a segurança, você realmente acha que obter acesso ao meu laptop é algo tão simples? HAHA.

      Sempre que me levanto, sempre bloqueio a tela, caso contrário, após 30 segundos, não há atividade no mouse ou teclado do laptop, ele ainda bloqueará 😉

      1.    Jesus dito

        Se alguém roubar seu laptop, por mais que a sessão esteja bloqueada, o acesso aos arquivos é trivial, em questão de 5 minutos com um Linux inicializável por USB. E uma vez que os arquivos são acessados, como a chave privada está desprotegida, você pode usá-la diretamente, ou melhor, copiá-la e acessar qualquer um de seus servidores confortavelmente de sua casa. Na verdade, o processo é tão rápido que você nem precisa saber. Em 5 minutos você vai ao banheiro ou o que for, tudo pode ser feito.

        A maneira segura é colocar uma senha na chave privada e então usar o ssh-agent para que ele se lembre da senha para toda a sessão (apenas ssh-add). Dessa forma, ele só pediria a senha na primeira vez, e na prática você teria uma conexão sem senha 90% do tempo, além de estar protegido contra roubo ou intrusões.

        1.    x11tete11x dito

          É trivial acessar os arquivos? Você já ouviu falar de criptografia de disco completo? (luks + cryptsetup)

          1.    Jesus dito

            Sim, claro, se você tem todo o disco criptografado, isso é outro assunto, mas 90% dos usuários não o fazem porque não sabem fazer e em muitos casos nem os compensam. Em contraste, não salvar senhas não criptografadas ou chaves privadas desprotegidas no disco é algo que todos podem fazer e, geralmente, uma boa prática.

            Salvar chaves privadas desprotegidas em um disco criptografado é como estacionar o carro deixando as portas abertas, mas contratar um segurança com um doberman para protegê-lo. Funciona, sim, mas é muito mais fácil e eficiente travá-lo diretamente.

    2.    changoleão dito

      MMm não fazem muito para o boquete, embora possam criar uma interface virtual, atribuir um IP e se conectar com aquele IP virtual, então mesmo que removam a chave não serão capazes de encontrar a máquina porque a chave só funciona para um determinado IP. Depende também do que eles querem, funciona perfeitamente para mim como o camarada descreve, tenho um servidor privado em minha casa não preciso aumentar a segurança porque tem uma VPN configurada.

  2.   samquejo dito

    E tudo isso pode se aplicar a um terminal Windows que precisa se conectar a vários * NIXs?
    Eu tenho massa, mas também posso usar o Securecrt (agora eu tenho o script)

    1.    KZKG ^ Gaara <° Linux dito

      No terminal do Windows (cmd) estou convencido de que não, não será possível lá.
      No entanto, se você usar o Putty, você pode tentar, pode funcionar.

      Saudações e bem-vindo ao nosso site 😀

    2.    erm3nda dito

      O Putty já aceita o parâmetro -pw em comandos adicionais. (ex: -pw12345)
      Na verdade, Super Putty é mais legal do que simplesmente Putty. (É uma moldura para Putty)

      Então você não precisa estar colocando.

  3.   Higi dito

    Obrigado pelo post, muito útil. É um pouco chato fazer login no SSH para tudo.

    1.    KZKG ^ Gaara dito

      Olá e muito obrigado pela visita e comentário 🙂
      Nada amigo, é um prazer saber que foi útil ... se pudermos ajudá-lo de alguma outra forma, ficaremos mais do que felizes 😉

      Saudações e sejam bem vindos ao site.

      1.    ao lado dito

        Eu preciso me conectar a um pc windonws do meu Linux como faço do meu terminal

  4.   Roberto dito

    Excelente .. realmente inspira ver este tipo de tutoriais, me dá vontade de contribuir também com minhas experiências já simplificadas para que a comunidade possa aproveitá-las. Muito obrigado de El Salvador.

  5.   Jose gregorio dito

    Estou conectando de uma máquina com ubuntu a uma que tem debian mas me dá um erro no qual não consegue autenticar e portanto me pede a senha .. por que isso vai acontecer? É que as versões do ssh-keygen diferem ou o que está acontecendo?

    1.    KZKG ^ Gaara dito

      Coloque aqui o erro que dá pra poder te ajudar melhor 😉
      Além disso, você pode tentar colocar isso em um terminal:
      sudo mv $HOME/.ssh/known_hosts /opt/

      O que isso faz é limpar as conexões (histórico de conexão) SSH que você teve.

  6.   kinon dito

    E se eu quiser usar a mesma chave pública para vários servidores, posso fazer isso ou tenho que criar uma chave para cada servidor que desejo acessar? Vou tentar mesmo assim, mas em algum servidor inútil para não estragar algo útil.

    Obrigado e cumprimentos.

    1.    KZKG ^ Gaara dito

      Como já fiz no meu laptop, é uma chave diferente para cada servidor, na verdade, acho que não é possível usar a mesma chave para vários ... porque o ID de cada servidor é único, como uma impressão digital 🙂

      lembranças

      1.    kinon dito

        Olá senhor da areia. Estive lendo as chaves e descobri que o par de chaves (pública e privada) serve ao cliente-servidor para enviar e receber desafios e assim se identificar, então não tem nada a ver com a senha que você usa para acessar o servidor, o último é usado para "colar" a chave pública nas chaves confiáveis ​​do servidor. Assim, você pode usá-lo em quantos quiser ou precisar.

        Não sei se me expliquei, mas a piada é que para utilizar o seu par de chaves em outros servidores, após ter seguido o seu tutorial, basta fazer:

        ssh-cópia-id other.user@otra.ip
        escreva sua senha para este outro servidor

        E pronto.
        lembranças

  7.   Raul dito

    Olá, obrigado pelo guia, foi o único que me ajudou. Agora que quero fazer isso em outro par de computadores, obtenho o seguinte:

    $ ssh-cópia-id -p 4000 lm11@148.218.32.91

    Porta inválida 'umask 077; test -d ~ / .ssh || mkdir ~ / .ssh; cat >> ~ / .ssh / authorized_keys '

    Obrigado por sua ajuda.

  8.   Alemão dito

    Eu fiz o que você nos disse, mas ele continua me pedindo a senha. Esclareço esta conexão que estou fazendo entre dois servidores Linux Red Hat ... O que mais poderia ser?

    Eu já olhei para o / etc / ssh / sshd_config

    Já reiniciei os dois servidores

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

    1.    Javier dito

      O serviço ssh deve ser configurado corretamente (arquivo / etc / ssh / sshd_config no PC2) para que funcione.

  9.   Alemão dito

    correção…

    PC1 = Centos 6.4
    PC2 = Red Hat 5.1

  10.   grivas dito

    Olá colegas, estou precisando estabelecer uma relação de confiança entre 1 servidor Linux Centos 5.3 e um Unix Sco5.7 mas tenho o problema que ao fazer o passo 3 de copiar a chave do Linux para o Unix recebo a mensagem / usr / bin / ssh-copy-id: ERRO: Nenhuma identidade encontrada, por que poderia ser?

    obrigado

  11.   namek dito

    Acompanhei o tutorial passo a passo. Não me dá nenhum erro, mas no final, quando me conecto do PC1 para o PC2, ele fica me pedindo a senha de root toda vez que me conecto.

    Alguém pensa o que poderia ser?

  12.   Rob dito

    Parece que depois de gerar a chave, você deve executar ssh-add para que o agente de autenticação possa usá-lo.

  13.   Andrea Colodro dito

    Como faço para deletar a senha de acesso, não reconhece nada, fui hackeado, socorro, não insere nada

  14.   Jordânia Costa dito

    Muito obrigado funcionou perfeitamente

  15.   miniminiio dito

    Muito obrigado pelo guia! É muito fácil e útil quando você tem seus servidores andando por aí sem ter que digitar chaves e assim automatizar as coisas 😀

  16.   erm3nda dito

    Obrigado.

    Eu não tinha conhecimento do uso de ssh-copy-id e era totalmente automático.
    A verdade é que já estava a ponto de escrever a senha, então o que faço é salvá-la com uma paráfrase DEFAULT, que é mantida durante a sessão.

    Não me importo de escrever uma vez toda vez que ligo o PC, o rolo é ter que colocá-lo toda vez que desconectar ou coisas assim

    SSH Não, Jutsu!

  17.   lizzy dito

    Olá

    bom tutorial ... mas se eu quiser passar informações ??? como posso fazê-lo?

  18.   Diego González dito

    Olá, sua contribuição é muito interessante, mas tenho algumas dúvidas sobre um tema semelhante

  19.   Carlos Hernandez dito

    Olá.

    Tente os passos acima, mas ao tentar copiar a chave para o servidor 2 (PC2), ele me diz que o comando não existe.

    bash: ssh-copy-id: comando não encontrado

    Posso copiar a chave manualmente?

  20.   heidi dito

    Excelente!! Eu estava procurando uma explicação tão simples e funcionou perfeitamente

    obrigado!

  21.   Yarumal dito

    Excelente contribuição.
    Muito obrigado, me ajudou muito.

  22.   Peter dito

    Olá, gostaria de saber se existe uma maneira de fazer este comando ssh-copy-id. Desde que instalei o Open ssh para Windows, o ssh funciona para mim no DOS, mas não possui o comando ssh-copy-id. Gostaria de saber como enviar esta chave pública para outro servidor linux (servidor linux). Muito obrigado.

  23.   Peter dito

    Oi. Preciso estabelecer uma relação de confiança entre um servidor Linux e uma máquina Windows. Instale o SSH para Windows e funciona para mim. Mas este comando ssh-copy-id não está disponível nesta ferramenta.

    Eles sabem de alguma outra maneira de fazer isso sem usar ssh-copy-id.

    Muito obrigado por seus comentários.

  24.   andrinho dito

    Mas a questão disso é poder conectar sem senha, se colocássemos uma senha ele nos pediria aquela senha para conectar e não era o objetivo desta

  25.   andrinho dito

    Tem sido muito útil para mim para o módulo fp do meu computador, obrigado 🙂

  26.   Vicent dito

    Obrigado!

  27.   x-man dito

    Alguns se preocupam com o quão chato pode ser ter que digitar a senha (passphrase), para que, como disseram acima, é «user-Agent» e que eu também o tenho configurado com Keepass e sua função Auto-Type, Acabei de invocar o terminal e com a combinação de chaves que eles configuraram prontas, também tenho "aliases" para cada requisição e tudo é muito fácil.

    Bom tutorial.

    Divirta-se bastante !!

  28.   Philip Oyarce dito

    Informação muito boa 🙂 mas tenho uma pergunta ...

    Tenho o PC10 que é onde guardo as informações, as informações são enviadas do pc1 - pc2 - pc3, para o PC10, como faço para que o pc1, pc e pc3 usem a mesma chave para acessar o PC10 sem chave.

    Felicidades…

  29.   Nestor dito

    Como posso listar o que está na máquina1 no bash da máquina2 sem colocar ssh ip @ hosts no bash da máquina1. Não sei se entendi xD

  30.   Martin dito

    10 anos se passaram desde esta publicação e continuo visitando-a sempre que preciso. Como alguns outros tutoriais aqui, eles resistiram ao teste do tempo. Obrigado e cumprimentos!