Envie a senha SSH na mesma linha do pacote sshpass

Para aqueles de nós que usam o SSH, isto é, aqueles de nós que precisam acessar computadores ou servidores remotos constantemente em nosso dia-a-dia chegam a ficar fartos de digitar senhas, seria:

  1. Digite um terminal: ssh user @ server
  2. Espere alguns segundos
  3. O servidor onde queremos nos conectar pedirá a senha
  4. Assim que colocarmos a senha e pressionarmos [Enter], acessaremos o servidor remoto

E agora minha pergunta, não é mais simples apenas digitar?:

sshpass -p «PASSWORD» ssh root@servidor

Por exemplo, suponha que o usuário seja raiz, o servidor é: desenvolvedordesdelinux.net e a senha é xunil ... então a linha seria:

sshpass -p xunil ssh root@dev.desdelinux.net

Para conseguir isso, simplesmente devemos instalar o pacote sshpassem Debian / Ubuntu ou derivados seriam com sudo apt-get instalar sshpass enquanto isso em ArchLinux ou derivados seriam suficientes com sudo pacman -S sshpass

Se quisermos especificar a porta (porque SSH não está na porta 22) nós adicionamos -p «PORT» ... isto é, supondo que seja a porta 9122:

sshpass -p xunil ssh root@dev.desdelinux.net -p 9122

Para simplificar tudo isso ainda mais nós podemos criar apelidosPor exemplo, ao executar o server1, toda a linha é executada para se conectar por SSH ao server1 (sshpass -p senha usuário @ servidor1) ou algo semelhante, portanto, também evitamos colocar uma linha muito longa 😉

De qualquer forma, espero que tenha sido útil para você.

A propósito, outra maneira de evitar a necessidade de escrever a senha quando acessamos por SSH é usando chaves públicas e privadas.

lembranças


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.   linuxito dito

    Minhas desculpas, mas isso é uma aberração de segurança terrível !! Você tem a senha presa em scripts, arquivos de texto simples, histórico do bash, etc.
    Para isso, o openssh suporta autenticação de chave pública usando RSA.
    Graças a este tipo de prática (implementada por sujeitos que se autodenominam "administradores") existe tanta insegurança informática.
    Saudações.

    1.    elav. dito

      A ver. Sim, é um problema de segurança, mas não significa que "sujeitos" que são ou não administradores tenham que usar este método. O método existe e é mostrado caso precise ser usado em um ambiente onde a segurança não é um problema. Na loja que te vendem a faca, você decide se vai usar para cortar verdura ou matar alguém.

      1.    linuxito dito

        Eu entendo sua posição, mas lamento que em um blog tão renomado se promova esse tipo de prática, é quase como um “pedido de desculpas pela péssima administração do sistema” hehe.
        Um abraço!!

        1.    elav. dito

          Ainda não entendo qual é o problema 🙁

          Como já falamos sobre "como obter mais segurança" em vários aspectos, também podemos falar sobre outros tópicos "menos seguros". Nosso objetivo é oferecer a informação, cabe a você saber o que fazer com ela. Além disso, o autor da postagem mais paranóica sobre segurança não pode ser, acredite, quando se trata de Administração de Sistemas, ela não faz esse tipo de coisa.

          Saudações 😉

          1.    linuxito dito

            Em primeiro lugar, quando disse 'implementado por sujeitos que se autodenominam' administradores '', não me referi em nenhum momento ao autor do artigo, não entendo porque é que são tão suscetíveis.

            O problema, do meu ponto de vista, é que essa ferramenta vai contra todas as boas práticas de segurança. Acredito que, da comunidade GNU / Linux, devemos manter nosso precioso sistema operacional o mais seguro possível. Quer dizer, eu não gostaria de ver GNU / Linux transformado em Windows (em termos de segurança).

            Infelizmente, existem muitos administradores novatos que não sabem a maneira correta de fazer as coisas e acabam usando essas ferramentas em sistemas críticos.

            Claro que você tem o direito de publicar o que quiser, mas repito, lamento que este blog (um dos mais importantes da língua espanhola) dê lugar a ferramentas que ameaçam a segurança.

            Saudações !!

            1.    elav. dito

              E dê Juana com a bacia. Precisamente por se tratar de um blog de referência, gostamos de disponibilizar todo o tipo de informação. Eu entendo isso:

              Um usuário chega e pergunta: Como posso me conectar a um servidor via SSH sem pedir a senha?
              Eles respondem a ele em qualquer fórum: Nããão, isso é um problema de segurança, ninguém faz isso.

              Mesmo sabendo, o usuário não lhe diz porque é um problema de segurança. Ruim, muito ruim, é bom você saber fazer as coisas, por isso em Desdelinux:

              Um usuário chega e pergunta: Como posso me conectar a um servidor via SSH sem pedir a senha?
              Escrevemos uma postagem e dizemos: Você pode usar este método, funciona assim, mas NÃO É SEGURO. O mais seguro é usar este outro.

              Qual você acha melhor?


            2.    linuxito dito

              Ok, eu respeito sua postura. Cumprimentos!!


            3.    KZKG ^ Gaara dito

              SSHPass na verdade não ameaça a segurança, a pessoa que ameaça a segurança em qualquer caso é o usuário que o faz mau uso.
              Por exemplo, aqui está um excelente exemplo de que SSHPass não é usado apenas para o que comento no post, ele pode ser usado para (por exemplo) cracking de OpenSSH-Server: http://paste.desdelinux.net/4810

              O aplicativo nada mais é do que isso, um aplicativo, o uso que se dá é o que vai causar falhas que comprometem ou não a segurança.

              Em relação ao nervosismo ou suscetibilidade, afinal, talvez tenha sido do jeito que você falou (ou que a leitura dificulte a compreensão correta) mas interpretei que o comentário foi direcionado a mim, se não foi assim, peço desculpas.

              PS: Com certeza vários vão achar o roteiro que eu coloquei interessante e até engraçado rs!


            4.    linuxito dito

              Ok, estou feliz por termos chegado a um acordo. Felicidades!!


    2.    KZKG ^ Gaara dito

      Eu já disse que esse método é mais seguro do que usar chaves públicas e privadas?

      Em outro artigo já compartilhei como usá-los [1], agora simplesmente explico outra forma de conseguir o mesmo ou algo semelhante.

      Cada um usa o que mais lhe convém, o que prefere. Aqui eu simplesmente expliquei um dos usos que podem ser dados ao sshpass, outro poderia ser por meio de um script Bash para crackear SSH por meio de um dicionário ... mas vamos lá, esse é apenas outro uso.

      Repito, só compartilho meu conhecimento relacionado ao GNU / Linux. SSHPass pode não ser a escolha ideal para nenhum caso, mas tem utilidade, não hesite.

      Aliás, referindo-se a: (implementado por sujeitos que se autodenominam "administradores") ... heh ... heh ... heh ... Prefiro não comentar, não tenho nada a provar a ninguém, sem falar que o seu amigo meu, você não tem a mais remota ideia de quem eu sou, muito menos do que eu sei 😉

      [1] https://blog.desdelinux.net/ssh-sin-password-solo-3-pasos/

      1.    linuxito dito

        Não fique nervoso, acontece que na minha área eu conheço pessoas que baseiam seus trabalhos no Google e na hora de resolver problemas copiam e colam esse tipo de coisa. Então, o administrador de segurança é quem "põe as rodas na roda" ao detectar tais anomalias. Saudações!!

      2.    msx dito

        Calma cara, não vale a pena 😉

  2.   xykyz dito

    Claro, mas então a senha é registrada nos comandos usados. Por razões de segurança, isso não deve ser feito ...

    1.    David dito

      Isso é o que eu estava pensando ao ler o post

    2.    KZKG ^ Gaara dito

      Adicionar isso ao nosso .bashrc não salvaria os comandos relacionados ao sshpass:
      HISTIGNORE='sshpass *'

      Estarei fazendo uma postagem sobre como ignorar comandos para que não sejam salvos no histórico do bash em breve :)

      1.    lâmina de anjo dito

        Outra maneira de os comandos não serem salvos é sempre colocar um espaço antes do comando. ^ __ ^

  3.   Ignacio dito

    Acho mais seguro usar chaves para se conectar via SSH sem precisar digitar a senha.

    Por outro lado, criar um alias de comando completo onde a senha é salva pode ser um problema de segurança.

  4.   Saito dito

    Se me parece uma falha na segurança do computador, mas vamos ter certeza de que eles não sejam salvos no histórico do bash não é tanto o problema que fazemos (exceto por um alias que seria enorme), também como elav diz na loja, venda-nos a faca, somos nós que veremos o que usar

  5.   truko22 dito

    Interessante, mas é melhor usar a chave pública e privada que você mostrou em outra entrada.

  6.   msx dito

    @KZKG
    Acho que é mais prático - e seguro! - usar chaves RSA / ECDSA junto com um chaveiro (agente SSH) para autenticação automática.
    No meu caso, utilizo uma chave SSH para Keychain, desenvolvida pelo pessoal da Funtoo, que funciona muito bem, usa poucos recursos e é muito segura:
    http://www.funtoo.org/Keychain

    Exemplo:

    j:0 ~ > AliasSearch ssh
    # SSH management
    alias SSHCOPYIDecdsa='ssh-copy-id -i ~/.ssh/id_ecdsa.pub'
    alias SSHCOPYIDrsa='ssh-copy-id -i ~/.ssh/id_rsa.pub'
    alias SSHKEYGENecdsa='ssh-keygen -t ecdsa -b 521 -C "$(whoami)@$(hostname)-$(date -I)"'
    alias SSHKEYGENrsa='ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date -I)"'

    Como usar:
    SSHKEYGEN {ecdsa, rsa}
    SSHCOPYID {ecdsa, rsa} usuário @ {servidor, ip}


    # SSH servers
    alias SERVER1mosh='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && mosh -p # usr1@server1'
    alias SERVER1='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && ssh -v -p # usr1@server1.local'
    alias SERVER101='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && ssh -v -p # usr1@[direc. ip].101'

    Onde:
    -p #: porta
    usr1 @ server1: usuário @ servidor AVAHI
    usr1@servidor1.local: usuário @ servidor AVAHI (dependendo de como o servidor está configurado em alguns sistemas é necessário adicionar o sufixo .local)
    usr1 @ [addr. ip] .101: endereço IP fixo.

    / etc / ssh / sshd_config: http://paste.chakra-project.org/4974/
    ~ / .ssh / config: http://paste.chakra-project.org/4975/
    SO: Arch Linux / Chakra

    Espero que sirva a você, saudações!

    1.    KZKG ^ Gaara dito

      Na verdade, eu uso chaves, não SSHPass, para acessar meus servidores ... Eu descobri SSHPass quando precisava de uma maneira de fazer este script: http://paste.desdelinux.net/4810

      Mas ... bom, eu queria compartilhar SSHPass com todos, mas obviamente não consegui colocar aqui um script que permitisse usar um dicionário para tentar violar o OpenSSH-Server HAHAHA!

      1.    msx dito

        «[…] Não consegui colocar aqui um script que permitisse usar um dicionário para tentar violar o OpenSSH-Server HAHAHA!»
        Mas por que não!!?
        Hackear e crackear não faz parte do aprendizado de boas práticas de segurança [0]!?
        Por favor, cara, vá em frente !!!

        [0] Não é lindo usar palavras para significar exatamente o oposto do que elas significam literalmente !? Hackeie a lingüística !!! ;-D

      2.    Guzmanweb dito

        Olá, recebo este erro:

        Ele está testando senhas para 192.168.20.11 na porta 22 com o usuário root
        cat: con-letters.txt: Não existe esse arquivo ou diretório

        o arquivo com letters.txt eu os crio?

        lembranças

  7.   Eduardo dito

    Isso não é feito, já que a senha é armazenada em bash_history como texto simples, exceto pelo fato de que poderia ser descoberta de outra forma. Para que o ssh não peça senha, o jeito correto é com "chaves públicas e privadas".

  8.   oscar meza dito

    Eu uso RSA para me conectar aos meus servidores remotamente, porém acho que conectar a algum computador onde não necessitamos de segurança tão forte é uma boa ferramenta, obrigado pela dica!

  9.   Nelson dito

    Chiuuuu

  10.   Nabucodonosor dito

    E por que não publicar minha senha para que fique disponível para todos?

  11.   mario dito

    Excelente que bom !!!!!! e em espanhol.

  12.   Gonzalo jarjúri dito

    Excelente artigo, como sempre as pessoas reclamam ao invés de agradecer, embora o método seja inseguro depende de onde e como você o usa, muito obrigado 🙂