Wyślij hasło SSH w tej samej linii z pakietem sshpass

Dla tych z nas, którzy używają SSHczyli ci z nas, którzy muszą stale uzyskiwać dostęp do zdalnych komputerów lub serwerów w naszym codziennym życiu, dochodzą do tego, że mają dość wpisywania haseł, byłoby to:

  1. Wprowadź terminal: ssh user @ server
  2. Poczekaj kilka sekund
  3. Serwer, z którym chcemy się połączyć, zapyta o hasło
  4. Po wprowadzeniu hasła i naciśnięciu [Enter] uzyskamy dostęp do zdalnego serwera

A teraz moje pytanie, czy nie jest łatwiej po prostu pisać?:

sshpass -p «PASSWORD» ssh root@servidor

Załóżmy na przykład, że użytkownik jest korzeń, serwer to: deweloperdesdelinux. Netto a hasło to xunil ... wtedy linia wyglądałaby tak:

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

Aby to osiągnąć, wystarczy zainstalować pakiet chrzanićW Debian / Ubuntu lub instrumenty pochodne sudo apt-get zainstaluj sshpass Tymczasem w ArchLinux lub instrumenty pochodne wystarczyłyby sudo pacman -S sshpass

Jeśli chcemy określić port (ponieważ SSH nie znajduje się w porcie 22) dodajemy -p „PORT” ... czyli zakładając, że jest to port 9122:

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

Aby jeszcze bardziej uprościć to wszystko możemy tworzyć aliasyNa przykład podczas wykonywania server1 cała linia jest wykonywana w celu połączenia przez SSH z server1 (sshpass -p hasło użytkownik @ serwer1) lub coś podobnego, więc oszczędzamy też wstawiania zbyt długiej linii 😉

W każdym razie mam nadzieję, że ci się to przydało.

Nawiasem mówiąc, innym sposobem uniknięcia konieczności zapisywania hasła, gdy uzyskujemy dostęp przez SSH, jest użycie klucze publiczne i prywatne.

pozdrowienia


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   linuxo powiedział

    Przepraszam, ale to straszna aberracja w zakresie bezpieczeństwa !! Hasło utknęło w skryptach, zwykłych plikach tekstowych, historii basha itp.
    W tym celu openssh obsługuje uwierzytelnianie za pomocą klucza publicznego przy użyciu RSA.
    Dzięki tego typu praktykom (realizowanym przez podmioty, które nazywają siebie „administratorami”), jest tak dużo niepewności komputerowej.
    Pozdrowienia.

    1.    pełen życia powiedział

      Zobaczmy. Tak, jest to problem z bezpieczeństwem, ale nie oznacza to, że „podmioty”, które są lub nie są administratorami, muszą używać tej metody. Metoda istnieje i jest wyświetlana na wypadek, gdyby konieczne było jej użycie w środowisku, w którym bezpieczeństwo nie stanowi problemu. W sklepie, w którym sprzedają ci nóż, decydujesz, czy użyjesz go do krojenia warzyw, czy kogoś zabić.

      1.    linuxo powiedział

        Rozumiem wasze stanowisko, ale żałuję, że na blogu o tak renomie promującej tego typu praktyki to prawie jak „przeprosiny za straszną administrację systemem” hehe.
        Uścisk!!

        1.    pełen życia powiedział

          Nadal nie rozumiem, na czym polega problem 🙁

          Ponieważ mówiliśmy również o „jak uzyskać większe bezpieczeństwo” w różnych aspektach, możemy również mówić o innych „mniej bezpiecznych” tematach. Naszym celem jest dostarczenie informacji, od Ciebie zależy, co z nimi zrobić. Poza tym autor najbardziej paranoidalnego postu z bezpieczeństwem nie może być, uwierz mi, że jeśli chodzi o administrację systemem, to nie robi tego.

          Pozdrowienia 😉

          1.    linuxo powiedział

            Po pierwsze, kiedy powiedziałem „realizowane przez podmioty, które nazywają siebie„ administratorami ””, to nigdy nie odnosiłem się do autora artykułu, nie rozumiem, dlaczego są tak podatni.

            Z mojego punktu widzenia problem polega na tym, że to narzędzie jest sprzeczne ze wszystkimi dobrymi praktykami w zakresie bezpieczeństwa. Uważam, że społeczność GNU / Linuksa musi zapewnić jak największe bezpieczeństwo naszego cennego systemu operacyjnego. Chodzi mi o to, że nie chciałbym, aby GNU / Linux zmienił się w Windows (pod względem bezpieczeństwa).

            Niestety jest wielu początkujących administratorów, którzy nie znają właściwego sposobu wykonywania pewnych czynności i ostatecznie używają tych narzędzi w krytycznych systemach.

            Oczywiście masz prawo publikować co chcesz, ale powtarzam, przykro mi, że ten blog (jeden z najważniejszych w języku hiszpańskim) daje miejsce na narzędzia zagrażające bezpieczeństwu.

            Pozdrowienia !!

            1.    pełen życia powiedział

              I daj Juana z miską. Właśnie dlatego, że jest to blog informacyjny, lubimy udzielać wszelkiego rodzaju informacji. Rozumiem to:

              Przyjeżdża użytkownik i pyta: Jak mogę połączyć się z serwerem przez SSH bez pytania o hasło?
              Odpowiadają mu na każdym forum: Nieee, to kwestia bezpieczeństwa, nikt tego nie robi.

              Nawet wiedząc, użytkownik nie mówi mu, dlaczego jest to problem bezpieczeństwa. Źle, bardzo źle, dobrze, że wiesz, jak to zrobić, dlatego w Desdelinux:

              Przyjeżdża użytkownik i pyta: Jak mogę połączyć się z serwerem przez SSH bez pytania o hasło?
              Piszemy post i mówimy: Możesz użyć tej metody, działa w ten sposób, ale NIE JEST BEZPIECZNA. Najbezpieczniej jest użyć tego drugiego.

              Jak myślisz, który jest lepszy?


            2.    linuxo powiedział

              Okej, szanuję twoją postawę. Z poważaniem!!


            3.    KZKG ^ Gaara powiedział

              SSHPass w rzeczywistości nie zagraża bezpieczeństwu, osobą, która zagraża bezpieczeństwu w każdym przypadku, jest użytkownik, który go nadużywa.
              Na przykład, tutaj jest doskonały przykład, że SSHPass jest używany nie tylko do tego, co komentuję w poście, może być używany (na przykład) do łamania serwera OpenSSH: http://paste.desdelinux.net/4810

              Aplikacja to nic innego, jak aplikacja, jej użycie powoduje awarie, które zagrażają bezpieczeństwu lub nie.

              Jeśli chodzi o nerwowość lub w ogóle podatność, może to był sposób, w jaki to powiedziałeś (lub że czytanie utrudnia prawidłowe zrozumienie), ale zinterpretowałem, że komentarz był skierowany do mnie, jeśli nie, przepraszam.

              PS: Na pewno będzie kilku, którym scenariusz, który umieściłem, będzie interesujący, a nawet zabawny LOL!


            4.    linuxo powiedział

              Ok, cieszę się, że doszliśmy do porozumienia. Twoje zdrowie!!


    2.    KZKG ^ Gaara powiedział

      Czy kiedykolwiek powiedziałem, że ta metoda jest bezpieczniejsza niż używanie kluczy publicznych i prywatnych?

      W innym artykule już podzieliłem się, jak z nich korzystać [1], teraz po prostu wyjaśniam inny sposób osiągnięcia tego samego lub podobnego.

      Każdy używa tego, który najbardziej mu odpowiada, tego, który preferuje. Tutaj po prostu wyjaśniłem jedno z zastosowań, które można zastosować sshpass, innym może być użycie skryptu Bash do złamania SSH za pomocą słownika ... ale daj spokój, to tylko kolejne użycie.

      Powtarzam, dzielę się tylko swoją wiedzą dotyczącą GNU / Linuksa. SSHPass może nie być idealnym wyborem w każdym przypadku, ale ma użyteczność, nie wahaj się.

      Swoją drogą, odnosząc się do: (realizowane przez podmioty, które nazywają siebie „administratorami”) ... heh ... heh ... heh ... wolę nie komentować, nie mam nikomu nic do udowodnienia, nie wspominając o tym, że twój przyjaciel, nie masz najwięcej odległe wyobrażenie o tym, kim jestem, znacznie mniej niż to, co wiem 😉

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

      1.    linuxo powiedział

        Nie denerwuj się, zdarza się, że w swojej dziedzinie znam osoby, które swoją pracę opierają na Google i rozwiązując problemy kopiują i wklejają tego typu rzeczy. Wtedy administrator bezpieczeństwa jest tym, który „wkłada koła w koło”, gdy wykryje tego typu anomalie. Twoje zdrowie!!

      2.    msx powiedział

        Spokojnie stary, to nie jest tego warte 😉

  2.   xykyz powiedział

    Jasne, ale wtedy hasło jest rejestrowane w używanych poleceniach. Ze względów bezpieczeństwa nie należy tego robić ...

    1.    Dawid powiedział

      Właśnie o tym myślałem czytając post

    2.    KZKG ^ Gaara powiedział

      Dodanie tego do naszego .bashrc nie zachowałoby poleceń związanych z sshpass:
      HISTIGNORE='sshpass *'

      Będę pisać post o tym, jak ignorować polecenia, aby nie zostały wkrótce zapisane w historii basha :)

      1.    Angelblade powiedział

        Innym sposobem, aby polecenia nie były zapisywane, jest zawsze wstawianie spacji przed poleceniem. ^ __ ^

  3.   Ignacio powiedział

    Myślę, że bezpieczniej jest używać kluczy do łączenia się przez SSH bez konieczności podawania hasła.

    Z drugiej strony utworzenie pełnego aliasu polecenia, w którym zapisywane jest hasło, może stanowić problem z bezpieczeństwem.

  4.   Saito powiedział

    Jeśli wydaje mi się to luką w zabezpieczeniach komputera, ale zamierzamy upewnić się, że nie są one zapisane w historii basha, to nie tyle problem, który robimy (poza aliasem, który byłby ogromny), także jak mówi elav w sklep sprzedaje nam nóż, jesteśmy tymi, którzy zobaczą, do czego go użyć

  5.   Truko22 powiedział

    Ciekawe, ale lepiej wykorzystam klucz publiczny i prywatny, który pokazałeś w innym wpisie.

  6.   msx powiedział

    @KZKG
    Myślę, że jest bardziej praktyczny - i bezpieczny! - używaj kluczy RSA / ECDSA razem z pękiem kluczy (agent SSH) do automatycznego uwierzytelniania.
    W moim przypadku używam pęku kluczy SSH do pęku kluczy, opracowanego przez ludzi z Funtoo, który działa bardzo dobrze, zużywa bardzo mało zasobów i jest bardzo bezpieczny:
    http://www.funtoo.org/Keychain

    przykład:

    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)"'

    Jak używać:
    SSHKEYGEN {ecdsa, rsa}
    SSHCOPYID {ecdsa, rsa} użytkownik @ {serwer, 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'

    Gdzie:
    -p #: port
    usr1 @ server1: użytkownik @ serwer AVAHI
    usr1@serwer1.lokalny: użytkownik @ serwer AVAHI (w zależności od konfiguracji serwera w niektórych systemach konieczne jest dodanie przyrostka .local)
    usr1 @ [adr. ip] .101: naprawiony adres ip.

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

    Mam nadzieję, że ci to służy, pozdrawiam!

    1.    KZKG ^ Gaara powiedział

      W rzeczywistości używam kluczy, a nie SSHPass, aby uzyskać dostęp do moich serwerów ... Odkryłem SSHPass, gdy potrzebowałem sposobu na wykonanie tego skryptu: http://paste.desdelinux.net/4810

      Ale ... cóż, chciałem podzielić się SSHPass ze wszystkimi, ale oczywiście nie mogłem tutaj umieścić skryptu, który pozwoliłby na użycie słownika do próby naruszenia OpenSSH-Server HAHAHA!

      1.    msx powiedział

        „[…] Nie mogłem tu umieścić skryptu, który pozwala na użycie słownika do próby naruszenia OpenSSH-Server HAHAHA!”
        Ale dlaczego nie!!?
        Czy hacking i cracking nie są częścią nauki dobrych praktyk bezpieczeństwa [0]!?
        Proszę człowieku, śmiało !!!

        [0] Czy nie jest pięknie używać słów, aby oznaczać dokładne przeciwieństwo tego, co dosłownie znaczą!? Zhakuj językoznawstwo !!! ;-RE

      2.    man powiedział

        Cześć, pojawia się ten błąd:

        Testuje hasła do 192.168.20.11 na porcie 22 z użytkownikiem root
        cat: con-letters.txt: Nie ma takiego pliku lub katalogu

        plik z literami.txt Utworzyłem je?

        pozdrowienia

  7.   Eduardo powiedział

    Tak się nie dzieje, ponieważ hasło jest przechowywane w bash_history jako zwykły tekst, poza tym można je znaleźć w inny sposób. Aby ssh nie prosiło Cię o hasło, poprawnym sposobem jest użycie „kluczy publicznych i prywatnych”.

  8.   Oscar meza powiedział

    Używam RSA do zdalnego łączenia się z moimi serwerami, chociaż myślę, że połączenie się z jakimś komputerem, na którym nie potrzebujemy tak silnych zabezpieczeń, jest dobrym narzędziem, dzięki za wskazówkę!

  9.   Nelson powiedział

    Chiuuuu

  10.   Nabuchodonozor powiedział

    I dlaczego lepiej nie publikować mojego hasła, aby było dostępne dla każdego?

  11.   mario powiedział

    Doskonałe, że dobre !!!!!! i po hiszpańsku.

  12.   Gonzalo jarjury powiedział

    Świetny artykuł, jak zawsze ludzie narzekają zamiast dziękować, chociaż metoda jest niepewna to zależy gdzie i jak jej użyjesz, bardzo dziękuję 🙂