2008-09-04 13 views
12

Me he conectado a un servidor a través de SFTP usando FileZilla y he aceptado agregar la clave SSH del servidor a la memoria caché de claves en FileZilla.Cómo extraer la clave SFTP SSH de la memoria caché de claves en el cliente FTP de FileZilla

¿Cómo puedo extraer esta clave en caché a un archivo de claves para que pueda usarlo a través de otras aplicaciones de SFTP que requieren la disponibilidad de un archivo de claves?

No he podido encontrar nada en la documentación de FileZilla relacionada con esto.

+0

El resultado final estoy tirando para es hacer SFTP a través de Java utilizando una biblioteca de EnterpriseDT.com. Parte de su API requiere proporcionar un archivo de clave o el texto clave al conectarse. Parece que no puedo encontrar información sobre cómo extraer la información clave del servidor SFTP al que intento conectarme para poder guardarla. Ideas? –

Respuesta

12

Si utiliza el cliente de consola openssh estándar (cygwin o de linux), las claves de host se almacenan, una por línea, en ~/.ssh/known_hosts. A partir de ahí, es una simple cuestión de averiguar qué parte de esa clave de host se necesita para su biblioteca.

Putty también almacena claves de host, pero parece codificarlas en hexadecimal. Esos se pueden encontrar en HKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeys

0

A menos que te esté malinterpretando: no es necesario.

Si se conecta al servidor con otra aplicación (es decir, PuTTY) y no ha visto el servidor antes, se le pedirá que acepte la clave.

Veo por qué es posible que desee hacer esto, pero cada aplicación podría tener su propia forma de almacenar las claves.

+0

Porque está escribiendo su propia aplicación en Java. – PRMan

5

Thomas estaba en lo cierto. FileZilla se conecta al programa PSFTP de PuTTY y almacena las claves guardadas codificadas en un formato hexadecimal en la clave de registro que listó (HKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeys). Necesitaba la clave en formato known_hosts, por lo que tiene poder instalar un windows version of openssh en su recomendación y se utiliza la herramienta ssh-keyscan para golpear el servidor y guardar la información clave en el formato correcto:

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

Gracias Thomas y SO!

5

Gracias Dougman por la propina!

Para ayudar a los recién llegados a leer su respuesta.
Antes de ejecutar ssh-keyscan, suponiendo que openssh se instala de manera predeterminada, hay unos pocos comandos que se deben ejecutar (lea la instalación de inicio rápido/readme para más detalles).
Aquí están mis comandos que me permiten obtener la clave de 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 
Cuestiones relacionadas