2008-09-04 9 views
12

FileZillaを使用してSFTP経由でサーバーに接続し、FileZillaのキーキャッシュにサーバーのSSHキーを追加しました。FileZilla FTPクライアントのキーキャッシュからSFTP SSHキーを抽出する方法

このキャッシュされたキーをキーファイルに抽出して、キーファイルを使用可能にする必要がある他のSFTPアプリケーションで使用できるようにするにはどうすればよいですか?

これに関連するFileZillaのドキュメントでは何も見つかりませんでした。

+0

私が撮影しています最終結果EnterpriseDT.comのライブラリを使ってJava経由でSFTPを行うことです。 APIの一部には、接続時にキーファイルまたはキーテキスト自体を提供する必要があります。私はそれを保存することができるように私が接続しようとしているSFTPサーバーから主要な情報を引き出す方法については情報を見つけることができないようです。アイデア? –

答えて

12

標準のopensshコンソールクライアント(cygwinまたはlinux)を使用する場合、ホスト鍵は〜/ .ssh/known_hostsに1行ごとに格納されます。そこから、そのホスト鍵のどのビットがあなたのライブラリに必要なのかを簡単に調べることができます。

パテもホストキーを格納しますが、16進数でエンコードするようです。これらはHKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeysにあります。

0

私があなたを誤解していない限り、あなたはそうする必要はありません。

他のアプリケーション(つまりPuTTY)でサーバーに接続していて、そのサーバーが表示されていない場合は、そのキーを受け入れるように求められます。

私はあなたがこれをやりたい理由を理解していますが、各アプリケーションには独自の方法でキーを保存することができます。

+0

彼は自分のアプリケーションをJavaで書いているからです。 – PRMan

5

トーマスが正しいです。 FileZillaはPuTTYのPSFTPプログラムをピギーバックし、リストされたレジストリキー(HKCUR \ Software \ SimonTatham \ PuTTY \ SshHostKeys)に16進数でエンコードされた保存されたキーを保存します。私は、known_hostsファイル形式のキーを必要とするので、私は彼の推薦でwindows version of opensshをインストールすることがあり、サーバーをヒットし、正しい形式でキー情報を保存するためのssh-キースキャンツールを使用し:

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

ありがとうございましたトーマス!

5

チップのためのDougmanありがとう!

あなたの回答を読んでいる新人をさらに助けるため。
ssh-keyscanを実行する前に、opensshがデフォルトでインストールされていると仮定すると、いくつかのコマンドを実行する必要があります(詳細はquickstart/readme installを参照してください)。
ここに私がホスト鍵を得ることができる私のコマンドがあります。

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 
関連する問題