FileZilla FTP クライアントのキー キャッシュから SFTP SSH キーを抽出する方法

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

  •  09-06-2019
  •  | 
  •  

質問

FileZilla を使用して SFTP 経由でサーバーに接続し、サーバーの SSH キーを FileZilla のキー キャッシュに追加することに同意しました。

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

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

役に立ちましたか?

解決

標準の openssh コンソール クライアント (cygwin または Linux) を使用する場合、ホスト キーは 1 行に 1 つずつ ~/.ssh/known_hosts に保存されます。そこから、ホスト キーのどのビットがライブラリに必要かを判断するのは簡単です。

Putty もホスト キーを保存しますが、ホスト キーは 16 進数でエンコードされているようです。これらは HKCUR\Software\SimonTatham\PuTTY\SshHostKeys にあります。

他のヒント

トーマスは正しかった。FileZilla は PuTTY の PSFTP プログラムを利用し、保存されたキーを 16 進形式でエンコードして、彼がリストしたレジストリ キー (HKCUR\Software\SimonTatham\PuTTY\SshHostKeys) に保存します。known_hosts 形式のキーが必要だったので、 openssh の Windows バージョン 彼の推奨に従い、ssh-keyscan ツールを使用してサーバーにアクセスし、キー情報を正しい形式で保存しました。

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

トーマスとSO、ありがとう!

ダグマンさん、ヒントをありがとう!

あなたの回答を読む初心者をさらに助けるため。
ssh-keyscan を実行する前に、openssh がデフォルトでインストールされていると仮定すると、実行する必要のあるコマンドがいくつかあります (詳細については、クイックスタート/readme インストールを読んでください)。
ホストキーを取得できるコマンドは次のとおりです。

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

GUI を使用したい場合は、ログ ウィンドウまたは WinSCP FTP クライアントを使用した初回接続ポップアップからホスト キーを取得できます。 https://winscp.net/eng/docs/ssh_verifying_the_host_key

私があなたを誤解していない限り:その必要はありません。

別のアプリケーションを使用してサーバーに接続する場合 (例:PuTTY)、それまでにサーバーを認識していない場合は、キーを受け入れるように求められます。

これを実行したい理由はわかりますが、各アプリケーションにはキーを保存する独自の方法がある可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top