Wie akzeptieren Sie ein SSL-Zertifikat über die SVN-Befehlszeile?

Wie akzeptieren Sie ein SSL-Zertifikat über die SVN-Befehlszeile?

Gibt es eine Befehlszeilenoption, um ein SSL-Zertifikat mithilfe der SVN-Befehlszeile dauerhaft automatisch zu akzeptieren und so die Eingabeaufforderung zu vermeiden?

Antwort1

Dies hängt etwas von Ihrer SVN-Version ab. Neuere Versionen (1.6+) haben das Übliche --non-interactive(das Sie verwenden möchten, um Eingabeaufforderungen zu vermeiden) und auch ein , --trust-server-certdas möglicherweise das tut, was Sie möchten.

Antwort2

Durch die Verwendung --trust-server-certwird das SSL-Zertifikat nicht dauerhaft akzeptiert. Sie können das SSL-Zertifikat über die Befehlszeile dauerhaft akzeptieren, indem SieEingabeumleitungund nicht verwenden --non-interactive.

Hier ist ein Beispiel für Unix/Linux:

svn list [TARGET] << EOF
p
EOF

NOTIZ:Das „p“ oben steht für (p)ermanently.

Antwort3

Meine Lösung verwendet expect. Sie ist nicht sicher, funktioniert aber, wenn die anderen Lösungen versagen.

#!/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@.*:\/#"

Antwort4

Sie sollten das Zertifikat herunterladen und dann im entsprechenden Verzeichnis ablegen können. Oder Sie können das CA-Zertifikat herunterladen und dann die Konfigurationsoption festlegenSSL-Autoritätsdateiendieser Zertifizierungsstelle zu vertrauen.

Sehen Sie sich dieSSL-ZertifikatsverwaltungAbschnitt im Buch.

verwandte Informationen