Configura le connessioni SSH senza password in soli 3 passaggi

Ciao,

Qui vedrai come connetterti a un PC da remoto tramite SSH Basta inserire la password la prima volta, quindi anche se riavviamo entrambi i computer, non ci verrà più chiesta la password.

Ma vediamo prima una breve spiegazione di cosa si tratta SSH:

SSH è un protocollo, un mezzo di comunicazione tra due computer. Ci permette di gestire una squadra da remoto. Quando accediamo a un altro computer tramite SSH, il comando che inseriamo in quel terminale verrà eseguito sull'altro computer, in questo modo lo gestiamo / controlliamo.

Tutto ciò che viene trasmesso da SSH, è crittografato e con una sicurezza notevolmente buona.

Ora vedremo come in soli tre passaggi configureremo PC # 1 accedere PC # 2 senza inserire la password:

Abbiamo la seguente situazione:

PC # 1 - » A cui vuoi connetterti PC # 2, senza dover inserire una password ogni volta che provi a connetterti a questo altro PC.

PC # 2 - » Hai il server SSH installato. Questo è quello PC # 1 si connetterà e lo farà senza inserire una password. Su questo PC è presente un utente denominato radice.

Cominciamo…

1. En PC # 1 scriviamo quanto segue:

  • ssh-keygen -b 4096 -t rsa

Questo genererà una chiave pubblica. Per non confondermi troppo con "chiavi pubbliche e private", lo spiegherò molto semplicemente.

Supponi di avere due chiavi di casa in tasca, una che dai alla tua ragazza poiché vivi insieme, e con l'altra rimani solo, non la dai a nessuno. Ebbene, quella chiave che hai dato alla tua ragazza le permetterà di entrare in casa tua senza dirtelo, senza chiederti il ​​permesso, giusto? ovvero una chiave pubblica, una "chiave" che consente a un PC di accedere a un altro senza dover chiedere il tuo permesso (cioè senza inserire username + password)

Quando inseriscono quel comando, apparirà:

2. Basta premere [Accedere], un secondo dopo premiamo di nuovo [Accedere]e un secondo dopo premiamo ancora una volta [Accedere]. Voglio dire, dovremmo premere [Accedere] per un totale di tre (3) volte, lo premiamo solo ... non scriviamo nulla 🙂

Quando lo facciamo, apparirà qualcosa di molto simile al seguente:

Pronto, abbiamo già la chiave pubblica ... ora dobbiamo darla a chi vogliamo (come nell'esempio, dalla nostra ragazza ahah)

Quello che vogliamo è questo PC # 1 connettersi a PC # 2, già dentro PC # 1 abbiamo fatto tutto quanto sopra, in PC # 2 Non abbiamo fatto niente. Buona, PC # 2 ha un indirizzo IP per esempio 10.10.0.5.

3. Abbiamo inserito PC # 1 il seguente:

  • ssh-copy-id root@10.10.0.5

Ciò che fa è semplicemente darti la chiave pubblica di PC # 1 a PC # 2, cioè, dà a PC # 2 la chiave pubblica di PC # 1mentre PC # 1 tiene la sua chiave privata, sai; quella chiave che non viene data a nessuno. È importante non commettere errori con l'utente, cioè se l'utente "radice"Non esiste nel PC # 2, ci darà un errore, è importante che sia chiaro quale utente useremo per questo, oltre al fatto che l'utente con cui configuriamo l'accesso senza password, sarà lo stesso con cui dovremo accedere in futuro. Fatto ciò, dovrebbe apparire così:

Nel passaggio precedente, devono inserire la password dell'utente PC # 2.

E voilà ... tutto è configurato 😀

Anche a noi sembra nel terminale, testiamo se tutto ha funzionato davvero al 100%. Per testare, mettiamo:

  • radice ssh@10.10.0.5

Se vogliono accedere a un altro computer anche senza inserire sempre una password (PC # 3 per esempio), gli diamo semplicemente la nostra chiave pubblica e il gioco è fatto, cioè una volta che abbiamo completato il passaggio #1 y #2 non dovremo più farlo. Se vogliamo accedere PC # 3 per esempio, che ha da IP 10.10.99.156 abbiamo appena messo:

  • radice ssh@10.10.99.156

Fin qui il tutorial.

Spiega che il livello di sicurezza quando parliamo di SSH è davvero alto, la metafora con cui ho spiegato alcuni passaggi (quella di dare la chiave alla nostra ragazza) potrebbe non essere la più appropriata ahah, visto che la nostra ragazza potrebbe dare la chiave a qualcun altro. Quando parliamo di SSH, i principi di sicurezza sono facili da spiegare, quando proviamo ad accedere al nostro computer (PC # 1) controlla se nel PC # 2 c'è una chiave pubblica del nostro computer (in questo caso c'è, perché la configuriamo così), poi, se ce n'è una, è semplice, controlla se quella chiave pubblica è identica alla nostra chiave privata (quella che non l'abbiamo dato a nessuno). Se le chiavi sono identiche ci permette di accedere, altrimenti e come misura di sicurezza, non ci permette di accedere da remoto all'altro computer.

Quindi ora sai ... dare alla nostra ragazza la chiave di casa non è la cosa più sicura, ma condividere le chiavi e accedere a un altro computer da remoto tramite SSH è sicuro ^ _ ^

Dubbi o domande, reclami o suggerimenti fammelo sapere.

Un saluto a tutti.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   elav <° Linux suddetto

    Non capisco davvero come tu sia così paranoico riguardo alla sicurezza faccia un errore del genere. Se nel passaggio in cui dice:

    Enter passphrase (empty for no passphrase)

    Non scriviamo nulla, ci perdiamo se un utente riesce ad accedere al nostro PC e ad aprire un terminale, poiché esegue automaticamente:

    ssh root@10.10.0.5

    Entrerà senza chiedere una password.

    1.    KZKG ^ Gaara <° Linux suddetto

      Se qualcuno ottiene l'accesso al mio laptop, sì, può accedere al PC n.2 senza dover inserire la sua password, tuttavia, come dici tu, sono paranoico riguardo alla sicurezza, pensi davvero che ottenere l'accesso al mio laptop sia qualcosa così semplice? HAHA.

      Quando mi alzo sempre, blocco sempre lo schermo, altrimenti dopo 30 secondi non c'è attività sul mouse o sulla tastiera del laptop, si bloccherà comunque 😉

      1.    Gesù suddetto

        Se qualcuno ruba il tuo laptop, non importa quanto la sessione sia bloccata, ottenere l'accesso ai file è banale, questione di 5 minuti con un Linux avviabile da USB. E una volta effettuato l'accesso ai file, poiché la chiave privata non è protetta, puoi usarla direttamente, o meglio copiarla e accedere a uno qualsiasi dei tuoi server comodamente da casa tua. In realtà, il processo è così veloce che non dovresti nemmeno saperlo. In 5 minuti vai in bagno o qualsiasi altra cosa, si può fare tutto.

        Il modo sicuro è inserire una password nella chiave privata, quindi utilizzare ssh-agent in modo che ricordi la password per l'intera sessione (solo ssh-add). In questo modo si chiederebbe la password solo la prima volta, e in pratica si avrebbe una connessione senza password il 90% delle volte, oltre ad essere protetta da furti o intrusioni.

        1.    x11tete11x suddetto

          È banale accedere ai file? Hai mai sentito parlare della crittografia completa del disco? (luks + cryptsetup)

          1.    Gesù suddetto

            Si certo, se hai l'intero disco crittografato è un'altra storia, ma il 90% degli utenti non lo fa perché non sa come farlo e in molti casi non li compensa nemmeno. Al contrario, non salvare password non crittografate o chiavi private non protette su disco è qualcosa che tutti possono fare e una buona pratica in generale.

            Salvare le chiavi private non protette su un disco crittografato è come parcheggiare l'auto lasciando le porte aperte, ma assumere una guardia di sicurezza con un dobermann per proteggerla. Funziona, sì, ma è molto più semplice ed efficiente bloccarlo direttamente.

    2.    cangoleone suddetto

      MMm non fa molto per il pompino, sebbene possano creare un'interfaccia virtuale, assegnare un IP e connettersi con quell'IP virtuale, quindi anche se rimuovono la chiave non saranno in grado di trovare la macchina perché la chiave funziona solo per un certo IP. Dipende anche da quello che vogliono, per me funziona perfettamente come lo descrive il compagno, ho un server privato a casa mia non ho bisogno di aumentare la sicurezza perché ha una VPN configurata.

  2.   samquejo suddetto

    E tutto questo può essere applicato a un terminale Windows che deve connettersi a più * NIX?
    Ho lo stucco ma posso anche usare Securecrt (ora ce l'ho con lo script)

    1.    KZKG ^ Gaara <° Linux suddetto

      Nel terminale di Windows (cmd) sono convinto che no, non sarà possibile lì.
      Tuttavia se usi Putty potresti provarlo, potrebbe funzionare.

      Saluti e benvenuto nel nostro sito 😀

    2.    erm3nda suddetto

      Putty accetta già il parametro -pw nei comandi aggiuntivi. (es: -pw12345)
      In effetti, Super Putty è più bello del semplice Putty. (È una cornice per Putty)

      Quindi non devi metterlo.

  3.   higi suddetto

    Grazie per il post, molto utile. È un po 'noioso accedere a SSH per tutto.

    1.    KZKG ^ Gaara suddetto

      Ciao e grazie mille per la tua visita e commento 🙂
      Niente amico, un piacere sapere che è stato utile ... se possiamo aiutarti in altro modo, siamo più che felici delight

      Saluti e benvenuto nel sito.

      1.    adiacente suddetto

        Ho bisogno di connettermi a un pc windonws dal mio linux come faccio dal mio terminale

  4.   Roberto suddetto

    Eccellente .. mi ispira molto vedere questo tipo di tutorial, mi fa venir voglia di contribuire anche con le mie esperienze già semplificate in modo che la comunità possa trarne vantaggio. Grazie davvero da El Salvador.

  5.   José Gregorio suddetto

    Mi sto collegando con una macchina con ubuntu a una che ha debian ma mi dà un errore in cui non riesce ad autenticarmi e quindi mi chiede la password .. perché succederà? È che le versioni di ssh-keygen differiscono o cosa sta succedendo?

    1.    KZKG ^ Gaara suddetto

      Metti qui l'errore che ti dà per poterti aiutare meglio 😉
      Inoltre, puoi provare a metterlo in un terminale:
      sudo mv $HOME/.ssh/known_hosts /opt/

      Ciò che fa è pulire le connessioni (cronologia delle connessioni) SSH che hai avuto.

  6.   kinon suddetto

    E se volessi utilizzare la stessa chiave pubblica per più server, potrei farlo o devo creare una chiave per ogni server a cui voglio accedere? Lo proverò comunque, ma su qualche server inutile per non rovinare qualcosa di utile.

    Grazie e saluti.

    1.    KZKG ^ Gaara suddetto

      Come l'ho fatto sul mio laptop, è una chiave diversa per ogni server, infatti, penso che non sia possibile usare la stessa chiave per più ... perché l'ID di ogni server è unico, come un'impronta digitale

      saluti

      1.    kinon suddetto

        Ciao signore della sabbia. Ho letto le chiavi e ho scoperto che la coppia di chiavi (pubblica e privata) serve al client-server per inviare e ricevere sfide e quindi identificarsi a vicenda, quindi non ha nulla a che fare con la password che usi per accedere al server, quest'ultimo serve per "incollare" la chiave pubblica in quelle fidate del server. Quindi puoi usarlo in quanti ne vuoi o hai bisogno.

        Non so se mi sono spiegato, ma la battuta è che per poter utilizzare la tua coppia di chiavi su altri server, dopo aver seguito il tuo tutorial, devi solo fare:

        ssh-id-copia altro.utente@otra.ip
        scrivi la tua password per questo altro server

        E pronto.
        saluti

  7.   Raul suddetto

    Ciao, grazie per la guida, è stata l'unica che mi ha aiutato. Ora che voglio farlo su un altro paio di computer ottengo quanto segue:

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

    Porta errata 'umask 077; test -d ~ / .ssh || mkdir ~ / .ssh; gatto >> ~ / .ssh / authorized_keys '

    Grazie per il vostro aiuto.

  8.   Tedesco suddetto

    Ho fatto quello che ci hai detto, ma continua a chiedermi la password. Chiarisco questa connessione che sto facendo tra due server Linux Red Hat ... Cos'altro potrebbe essere?

    Ho già esaminato il file / etc / ssh / sshd_config

    Ho già riavviato entrambi i server

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

    1.    Xavier suddetto

      Il servizio ssh deve essere configurato correttamente (file / etc / ssh / sshd_config su PC2) affinché funzioni.

  9.   Tedesco suddetto

    correzione…

    PC1 = Centesimi 6.4
    PC2 = Red Hat 5.1

  10.   grivas suddetto

    Ciao colleghi, ho la necessità di stabilire una relazione di fiducia tra 1 server Linux Centos 5.3 e un Unix Sco5.7 ma ho il problema che quando eseguo il passaggio 3 di copia della chiave da Linux a Unix ricevo il messaggio / usr / bin / ssh-copy-id: ERRORE: nessuna identità trovata, perché potrebbe essere?

    grazie

  11.   Namek suddetto

    Ho seguito il tutorial passo dopo passo. Non mi dà alcun errore, ma alla fine quando mi connetto da PC1 a PC2 continua a chiedermi la password di root ogni volta che mi connetto.

    Qualcuno pensa cosa potrebbe essere?

  12.   rapinare suddetto

    Sembra che dopo aver generato la chiave sia necessario eseguire ssh-add in modo che l'agente di autenticazione possa usarlo.

  13.   Andrea Colodro suddetto

    Mentre cancello la chiave di accesso, non riconosce nulla, sono stato hackerato, aiuto, non inserisce nulla

  14.   Jordan acosta suddetto

    Grazie mille, ha funzionato perfettamente

  15.   minimini suddetto

    Grazie mille per la guida! È molto semplice ed è utile quando hai i tuoi server là fuori a camminare e non devi inserire chiavi e quindi automatizzare le cose 😀

  16.   erm3nda suddetto

    Grazie.

    Non ero a conoscenza dell'uso di ssh-copy-id ed è stato abbastanza automatico.
    La verità è che ero arrivato al punto di scrivere la password, quindi quello che faccio è salvarla con una parafrasi DEFAULT, che viene mantenuta durante la sessione.

    Non mi dispiace scriverlo una volta ogni volta che accendo il PC, il rotolo deve metterlo ogni volta che si disconnette o cose del genere

    SSH Niente Jutsu!

  17.   lizza suddetto

    Ciao

    buon tutorial ... ma se voglio passare informazioni ??? Come posso farlo?

  18.   diego gonzález suddetto

    Ciao, il tuo contributo è molto interessante, ma ho un paio di dubbi su un argomento simile

  19.   Carlos Hernandez suddetto

    Hey.

    Prova i passaggi precedenti, ma quando provi a copiare la chiave sul server 2 (PC2) mi dice che il comando non esiste.

    bash: ssh-copy-id: comando non trovato

    Posso copiare la chiave manualmente?

  20.   Heidy suddetto

    Eccellente!! Stavo cercando una spiegazione così semplice e ha funzionato perfettamente

    grazie!

  21.   Yarumal suddetto

    Ottimo contributo.
    Grazie mille, mi ha aiutato molto.

  22.   Pedro suddetto

    Ciao, mi chiedo se esiste un modo per eseguire questo comando ssh-copy-id. Da quando installo Open ssh per Windows, ssh funziona per me in DOS ma non ha questo comando ssh-copy-id. Vorrei sapere come inviare questa chiave pubblica all'altro server linux (server linux). Molte grazie.

  23.   Pedro suddetto

    Ciao. Ho bisogno di stabilire una relazione di fiducia tra un server Linux e una macchina Windows. Installa SSH per Windows e funziona per me. Ma questo comando ssh-copy-id non è disponibile in questo strumento.

    Sanno di qualche altro modo per farlo senza usare ssh-copy-id.

    Grazie mille per i tuoi commenti.

  24.   Andrinho suddetto

    Ma la questione è essere in grado di connettersi senza una password, se mettessimo una passphrase ci chiederebbe quel pass per connettersi e non era l'obiettivo di questo

  25.   Andrinho suddetto

    Mi è stato molto utile per il modulo fp del mio computer, grazie 🙂

  26.   Vicent suddetto

    Grazie!

  27.   x-man suddetto

    Alcuni si preoccupano di quanto possa essere fastidioso dover inserire la password (passphrase), poiché, come hanno detto sopra, è «user-Agent» e l'ho configurato anche con Keepass e la sua funzione Auto-Type, quindi ho solo Invoco il terminale e con la combinazione di tasti che hanno configurato pronta, ho anche degli "alias" per ogni richiesta e tutto è molto semplice.

    Buon tutorial.

    Divertiti !!

  28.   Filippo Oyarce suddetto

    Informazioni molto buone 🙂 ma ho una domanda ...

    Ho PC10 che è dove conservo le informazioni, le informazioni vengono inviate da pc1 - pc2 - pc3, a PC10, come posso fare in modo che pc1, pc e pc3 utilizzino la stessa chiave per accedere a PC10 senza una chiave.

    Saluti…

  29.   Nestor suddetto

    Come posso elencare cosa c'è su machine1 nella bash di machine2 senza passare a ssh ip @ hosts alla bash di machine1. Non so se ho capito xD

  30.   martyn suddetto

    Sono passati 10 anni da questa pubblicazione e continuo a visitarla ogni volta che ne ho bisogno. Come altri tutorial qui, hanno superato la prova del tempo. Grazie e saluti!