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


Gibt es eine Befehlszeilenoption, um ein SSL-Zertifikat dauerhaft mit der SVN-Befehlszeile so zu akzeptieren, dass die Eingabeaufforderung nicht angezeigt wird?


18
2017-07-08 20:34


Ursprung


Wäre das bei Stack Overflow besser? - James McMahon


Antworten:


Es hängt etwas von deiner Version von svn ab. Neuere (1.6+) haben das übliche --non-interactive (das Sie verwenden möchten, um Aufforderungen zu vermeiden) und auch ein --trust-server-cert, das tun kann, was Sie wollen.


18
2017-07-09 14:20



Diese Lösung scheint zu funktionieren. Leider hat das Kommandozeilen-Zertifikat accept mein erstes Problem nicht gelöst. Naja, zumindest weiß ich, was jetzt nicht funktioniert. - James McMahon
Wenn dies immer noch nicht funktioniert, liegt das möglicherweise daran, dass Sie nicht auf das Verzeichnis .subversion in Ihrem Home-Verzeichnis zugreifen können. Lösung gefunden hier: chipsandtv.com/articles/svn-invalid-certificates - icc97
Der Link chipsandtv.com ist tot. Gibt es eine andere Quelle? - Joe McMahon
web.archive.org/web/20120512113710/http://chipsandtv.com/... - sergtk
Ich musste beide Optionen verwenden, jetzt funktioniert es, danke! - rogerdpack


Verwenden --trust-server-cert akzeptiert das SSL-Zertifikat nicht dauerhaft. Sie können das SSL-Zertifikat über die Befehlszeile dauerhaft mit übernehmen Eingabeumleitung und nicht verwenden --non-interactive.

Hier ist ein Beispiel für Unix / Linux:

svn list [TARGET] << EOF
p
EOF

HINWEIS: Das obige "p" gilt (p) für immer.


10
2018-04-23 18:08



Nun, meine Version (1.6.6 (r40053)) wird leider nicht angeboten p (permanent) Option überhaupt. Und da dies auf einer uralten Box ist, die ich nicht mehr aktualisieren kann ... - 0xC0000022L


Meine Lösung nutzt erwarten. Es ist nicht sicher, aber es wird funktionieren, wenn die anderen Lösungen nicht funktionieren.

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

2
2017-12-25 14:04



Rettete mein Leben! Vielen Dank - Bernardo Vale


Sie sollten in der Lage sein, das Zertifikat herunterzuladen und es dann in das entsprechende Verzeichnis zu verschieben. Oder Sie können das CA-Zertifikat herunterladen und dann die Konfigurationsoption festlegen ssl-Autorität-Dateien dieser CA zu vertrauen.

Siehe die SSL-Zertifikatverwaltung Abschnitt im Buch.


0
2017-07-08 21:04



Ich bin hier in einer sehr seltsamen Situation serverfault.com/questions/7648/ ..., also möchte ich es in einem Befehl ausführen können. - James McMahon