使いたいdropbear
あるいは、最小限のssh-serverと-clientがあります。 dropbear
プライベート - 公開鍵を使用してSSHアクセスを許可しますが、これらのキーは使用されているキーとは異なるため、-コマンドをopenssh
使用してdropbearconvert
変換する必要があります。(これは簡単です)。
私が経験している問題はdropbear
暗号化された秘密鍵はデフォルトでサポートされていません。。しかし、原則として、私のラップトップに暗号化されていないSSHキーを残すことを避けたいと思います。
だから私の質問は次のとおりです。この問題を回避する方法について良いアイデアがあり、方法(スクリプト?)がある人はいますか?
- dropbearに使用するキーを復号化し(たとえば、を使用して
gnupg
)、メモリにロードします。 dbclient
-binary(dropbear
-client-application) に渡して- SSH接続開始
ssh
また、dropbearの-configオプション(特に-configオプション)に代わるものがあるかどうかを知りたいですHost
。したがって、IPなどを指定できるdropbear用のホスト固有の設定ファイルを生成できるかどうかを知りたいです。住所、ポート、その他の詳細)。
答え1
dbclient
名前付きパイプやFIFOから秘密鍵を読むことは完璧に見えます。
したがって、bashのプロセスの置き換えによって、次のように書くことができます。
dbclient -i <(cat .ssh/id_dropbear) user@server
したがって、暗号化されたGPGがある場合は、次の.ssh/id_dropbear.gpg
ように書くことができます。
dbclient -i <(gpg --decrypt .ssh/id_dropbear.gpg) user@server
復号化パスワードを入力したら、dbclient
GPG暗号化秘密鍵を使用してログインしてください。だからこの部分はうまくいきます。
ここで最大の問題は、以前.ssh/id_dropbear
に暗号化されていない状態で保存した場合、フォレンジックを介して回復できることです。でキーを動的に暗号化するには、dropbearconvert
同じ原則を適用できます。
$ dropbearconvert openssh dropbear \
.ssh/id_openssh >(gpg --symmetric --output .ssh/id_dropbear.gpg)
Key is a ssh-rsa key
Wrote key to '/dev/fd/63'
dropbearconvert
ただし、OpenSSHの暗号化された秘密鍵に対して非常に限られたサポートしか提供していないため、実際にはあまり使用されていないようです。この例では、理解するために特別にOpenSSHキーを生成する必要がありましたdropbearconvert
。
残念ながら、このトリックはdropbearkey
コマンドではまったく機能しないようです。このコマンドは、何らかの理由でパイプを完全にバイパスして一時ファイルを作成し、名前を変更するように要求します。
tmpfs
したがって、最初に秘密鍵(たとえば、Live CD/dev/shm
またはLive CDなど)を作成し、そこから暗号化する以外に選択肢がないようです。