Come estrarre la chiave SSH SFTP dalla cache delle chiavi nel client FTP FileZilla

StackOverflow https://stackoverflow.com/questions/44089

  •  09-06-2019
  •  | 
  •  

Domanda

Mi sono connesso a un server tramite SFTP utilizzando FileZilla e ho accettato di aggiungere la chiave SSH del server alla cache delle chiavi in ​​FileZilla.

Come posso estrarre questa chiave memorizzata nella cache in un file di chiavi in ​​modo da poterla utilizzare attraverso altre applicazioni SFTP che richiedono che un file di chiavi sia reso disponibile?

Non sono riuscito a trovare nulla nella documentazione di FileZilla relativa a questo.

È stato utile?

Soluzione

Se utilizzi il client della console openssh standard (cygwin o da Linux), le chiavi host vengono archiviate, una per riga, in ~/.ssh/known_hosts.Da lì, è semplice capire quale parte della chiave host è necessaria per la tua libreria.

Putty memorizza anche le chiavi host, ma sembra codificarle in formato esadecimale.Questi possono essere trovati in HKCUR\Software\SimonTatham\PuTTY\SshHostKeys

Altri suggerimenti

Tommaso aveva ragione.FileZilla si appoggia al programma PSFTP di PuTTY e memorizza le chiavi salvate codificate in formato esadecimale nella chiave di registro da lui elencata (HKCUR\Software\SimonTatham\PuTTY\SshHostKeys).Avevo bisogno della chiave nel formatoknown_hosts, quindi ho potuto installare un file versione Windows di openssh su suo consiglio e ha utilizzato lo strumento ssh-keyscan per raggiungere il server e salvare le informazioni chiave nel formato corretto:

ssh-keyscan -t rsa <my_ftp_ip_address> > c:\known_hosts
ssh-keyscan -t dsa <my_ftp_ip_address> > c:\known_hosts

Grazie Thomas e SO!

Grazie Dougman per il suggerimento!

Per aiutare ulteriormente i nuovi arrivati ​​a leggere la tua risposta.
Prima di eseguire ssh-keyscan, presupponendo che openssh sia installato per impostazione predefinita, è necessario eseguire alcuni comandi (leggi l'installazione rapida/readme per i dettagli).
Ecco i miei comandi che mi permettono di ottenere la chiave host.

C:\Program Files\OpenSSH\bin>mkgroup -l >> ..\etc\group
C:\Program Files\OpenSSH\bin>mkpasswd -l >> ..\etc\passwd
C:\Program Files\OpenSSH\bin>net start opensshd
The OpenSSH Server service is starting.
The OpenSSH Server service was started successfully.
C:\Program Files\OpenSSH\bin>ssh-keyscan -t rsa vivo.sg.m.com > c:\known_hosts
vivo.sg.m.com SSH-2.0-Sun_SSH_1.1

Se preferisci utilizzare una GUI, puoi ottenere la chiave host dalla finestra di registro o dal popup di connessione per la prima volta utilizzando il client FTP WinSCP: https://winscp.net/eng/docs/ssh_verifying_the_host_key

A meno che non ti abbia frainteso:non ne hai bisogno.

Se ti connetti al server con un'altra applicazione (es:PuTTY) e non ha ancora visto il server, ti verrà chiesto di accettare la chiave.

Capisco perché potresti voler farlo, ma ogni applicazione potrebbe avere il proprio modo di memorizzare le chiavi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top