SVNコマンドラインからSSL証明書をどのように受け入れますか?


回答:


20

SVNのバージョンによって多少異なります。最近の(1.6+)には通常のもの--non-interactive(プロンプトを避けるために使用したいもの)があり、それはあなたが望むことをする--trust-server-certかもしれません。


このソリューションはうまくいくようです。残念ながら、コマンドライン証明書の受け入れは、最初の問題を解決しませんでした。まあ、少なくとも私は今何がうまくいかないか知っています。
ジェームズマクマホン

それでもうまくいかない場合は、ホームディレクトリの.subversionディレクトリにアクセス/作成できないことが原因である可能性があります。ここで見つかった解決策:chipsandtv.com/articles/svn-invalid-certificates
icc97

chipsandtv.comリンクは機能していません。別のソースはありますか?
ジョーマクマホン


両方のオプションを使用することになりましたが、今では機能します、ありがとう!
rogerdpack

10

を使用して--trust-server-certも、SSL証明書は永久に受け入れられません。入力リダイレクションを使用し、を使用せずに、コマンドライン経由でSSL証明書を永続的に受け入れることができます--non-interactive

Unix / Linuxの例を次に示します。

svn list [TARGET] << EOF
p
EOF

注:上記の「p」は(p)永続的なものです。


私のバージョン(1.6.6 (r40053))では、残念ながらp(永久に)オプションがまったく提供されません。そして、これは私がもう更新できない古代の箱にあるので
...-0xC0000022L

2

私のソリューションは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@.*:\/#"

0

証明書をダウンロードして、適切なディレクトリに配置できるはずです。または、CA証明書をダウンロードしてから、構成オプションssl-authority-filesを設定して、そのCAを信頼することができます

本のSSL証明書管理セクションを参照してください。


ここで私は非常に奇妙な状況にあります。serverfault.com/ questions / 7648 /…を参照してください。
ジェームズマクマホン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.