Problema quando si esegue SSH su server Linux da client Windows utilizzando la chiave pubblica


1

Questa domanda è specifica per Cygwin.

La mia intenzione è di passare da SSH a Linux Debian 9 Stretch server dal client Windows 10 Pro.

Passi che ho fatto finora:

  1. Cygwin installato con pacchetto OpenSSH.

  2. Coppia privata-pubblico generata in Cygwin:

    ssh-keygen -t rsa -b 8192
    
  3. Copiato la chiave pubblica del server su Cygwin:

    ssh-copy-id user_name@ip_address -p port_number
    
  4. La prima volta connesso al server:

    ssh user_name@ip_address -p port_number
    

    Mi ha detto:

    The authenticity of host '[ip_address]:port_number ([ip_address]:port_number)' can't be established.
    

    ...   Sei sicuro di voler continuare a connetterti (sì / no)?

    ho risposto yes.

  5. Ho definito un alias in Cygwin e l'ho ottenuto:

    vi .bash_aliases
    

    Esattamente uguale alla prima connessione.

  6. Ho riavviato Cygwin.

  7. Ora il problema che sto avendo è che quando lo faccio:

    ssh-server
    

    Mi chiede sempre la password per la chiave privata. E non so perché. Perché è crittografato ovviamente, ma come faccio a sbarazzarmene ?:

    Enter passphrase for key '/home/user_name/.ssh/id_rsa':
    

Nota: quando si collega dalla mia macchina Linux, non richiede quella password. Mi sono perso un passaggio?

MODIFICARE:

  1. Quando avvii SSH Agent e aggiungo la chiave, riesco a collegarmi in modo impeccabile:

    • Avvia l'agente SSH:

      eval `ssh-agent -s`
      
    • Aggiungi le chiavi mancanti all'identità:

      ssh-add
      

Ma questo funziona solo per una sessione, perché non è permanente?



@Jakuje Questa domanda è specifica per Cygwin, non un duplicato di quel post
Vlastimil

No, non è specifico per Cygwin. Gli strumenti openssh funzionano allo stesso modo di Linux. Sembra che manchi il punto su come funzionano questi strumenti. L'unica differenza è che in Linux la sessione è la tua sessione di accesso, ma in Cygwin, è la shell cygwin (o come sembra) che stai aprendo.
Jakuje

Per avere una chiave privata OpenSSH non crittografata affatto (il che significa che chiunque ottiene il tuo computer o il tuo disco a meno che non sia cifrato a livello del disco o una copia del tuo disco o di quel file possa impersonare te) quando crei la chiave non inserisci nulla per la passphrase (solo premi due volte ritorno) o modifica un file di chiavi esistente con ssh-keygen -p -f ~/.ssh/id_rsa (o altro nome file) e non inserire nulla per la nuova passphrase.
dave_thompson_085

Risposte:


0

Poiché una chiave privata non crittografata non è un'opzione per me, devo aver impostato una passphrase. Speravo che ci fosse un trucco che avrebbe sbloccato la mia chiave al momento dell'accesso. Ma come sembra, non succederà.

Così mi sono ritirato per la soluzione quando Cygwin mi chiedeva la password sempre al momento del lancio.

Puoi usare qualunque editor installato, ho usato nano, per modificare il file di avvio, ad esempio:

nano .bashrc

Basta aggiungere queste due righe alla fine del file:

eval `ssh-agent -s`
ssh-add

Puoi trovare maggiori informazioni su ssh-agent nel manuale, lo stesso vale per il ssh-add.

Ora, ogni volta che avvii il tuo terminale Cygwin, ti chiederà la password per la chiave privata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.