
プロンプトを回避する方法で SVN コマンドラインを使用して SSL 証明書を永続的に自動受け入れるコマンドライン オプションはありますか?
答え1
SVN のバージョンによって多少異なります。最近のバージョン (1.6 以降) には、通常のバージョン--non-interactive
(プロンプトを回避するために使用) と、--trust-server-cert
必要な機能を実行するバージョンがあります。
答え2
を使用すると、--trust-server-cert
SSL証明書は永久的に受け入れられません。コマンドラインを使用してSSL証明書を永久的に受け入れることができます。入力リダイレクトおよび使用しません--non-interactive
。
Unix/Linux の例を次に示します。
svn list [TARGET] << EOF
p
EOF
注記:上記の「p」は「永久に」を意味します。
答え3
私のソリューションでは expect を使用します。安全ではありませんが、他のソリューションが機能しない場合でも機能します。
#!/usr/bin/expect -f
set svn_username [lindex $argv 0]
set svn_password [lindex $argv 1]
set svn_url [lindex $argv 2]
spawn svn --username=${svn_username} --password=${svn_password} list ${svn_url}
expect "(R)eject, accept (t)emporarily or accept (p)ermanently? "
send -- "p\r"
expect "Store password unencrypted (yes/no)? "
send "no\r"
expect -re "root@.*:\/#"
答え4
証明書をダウンロードして適切なディレクトリに配置することができます。または、CA証明書をダウンロードして構成オプションを設定することもできます。SSL 権限ファイルその CA を信頼します。
を参照してくださいSSL証明書管理本のセクション。