SSHを介して他のサーバーと通信する必要があるデータベースベースのアプリケーションがあります。 Webアプリケーションは、鍵ペアを生成し、ユーザーに公開鍵を提供したり、Webフォームフィールドで暗号化されていない秘密鍵を許可したりできます。その後、復号化可能な暗号化を使用して鍵を暗号化し、データベースに保存します。
WebアプリケーションがSSHサーバーと通信するときは、秘密鍵を復号化して何らかの方法でSSHに提供する必要があります。安全な一時ファイルを作成し、mktemp
sshを介してファイルを指定してファイルを削除できますが、これは追加の操作であり、新しい方法でキーを公開するため、必要ありません。man ssh
, , を見てみましたが、man ssh-agent
キーman ssh-add
を最初にファイルに追加せずに使用できる方法がないようです。私は何を見逃していますか?
ベストアンサー1
ssh
/ etcなどの既存のツールを使用するには、ssh-agent
ファイルにキーを提供する必要があります。
別の、おそらくより実現可能なソリューションは、ssh
アプリケーションで直接クライアントを実装し、サードパーティのライブラリに依存することです。クリップシュまたは、ssh
/を展開してssh-agent
データベースから直接キーを受信して復号化することもできます。