Mavensettings.xml
で、SSH サーバーを定義して以下を提供したいと考えています。
- 接続するホスト
- 接続するユーザー
- 秘密鍵の場所 (自分自身を認証するため)
- ホスト キー (サーバーを検証するための公開キー) を手動で提供する
欲しくない:
~/.ssh/known_hosts
ファイルに依存する- ホストキーを受け入れるように求められる
- ホストキーの検証を無視する
そのため、StackExchange に関する既存の回答は役に立ちません。
- プロバイダーを にオーバーライドし、
NullKnownHostProvider
に設定hostKeyChecking
しno
ます。 - コマンドラインで ssh を手動で実行して、
~/.ssh/known_hosts
ファイルに入力されたホストキーを取得します。
これは、maven でセットアップできると私が想像した方法の例ですsetup.xml
。
<servers>
<server>
<id>gitcloud.myserver.net:8001</id>
<username>git</username>
<privateKey>C:/data/home/.ssh/id_rsa</privateKey>
<configuration>
<knownHostsProvider implementation="org.apache.maven.wagon.providers.ssh.knownhost.SingleKnownHostProvider">
<hostKeyChecking>yes</hostKeyChecking>
<contents>codecloud.web.att.com ssh-rsa XXXXA3NvvFakeSSHKEYsdfADA...doLQ==</contents>
</knownHostsProvider>
</configuration>
</server>
</servers>