Jak akceptujesz certyfikat SSL za pomocą wiersza polecenia SVN?


20

Czy istnieje opcja wiersza polecenia, aby automatycznie zaakceptować certyfikat SSL na stałe przy użyciu wiersza polecenia SVN w sposób pozwalający uniknąć monitu?


Czy lepiej by to było w przypadku przepełnienia stosu?
James McMahon,

Odpowiedzi:


20

Zależy to nieco od twojej wersji SVN. Najnowsze (1.6+) mają zwykłe --non-interactive(których chcesz użyć, aby uniknąć monitów), a także takie, --trust-server-certktóre mogą robić, co chcesz.


To rozwiązanie wydaje się działać. Niestety zaakceptowanie certyfikatu wiersza polecenia nie rozwiązało mojego początkowego problemu. No cóż, przynajmniej wiem, co teraz nie działa.
James McMahon

Jeśli to nadal nie działa, przyczyną może być to, że nie możesz uzyskać dostępu / utworzyć katalogu .subversion w swoim katalogu domowym. Rozwiązanie znalezione tutaj: chipsandtv.com/articles/svn-invalid-certificates
icc97

Link chipsandtv.com nie działa. Czy jest inne źródło?
Joe McMahon,


Skończyło się na tym, że musiałem użyć obu opcji, teraz działa, dzięki!
rogerdpack

10

Użycie --trust-server-certnie spowoduje trwałego zaakceptowania certyfikatu SSL. Możesz na stałe zaakceptować certyfikat SSL za pomocą wiersza poleceń, używając przekierowania wejściowego i nie używając --non-interactive.

Oto przykład dla Unix / Linux:

svn list [TARGET] << EOF
p
EOF

UWAGA: Powyższe „p” jest dla (p) trwale.


Cóż, moja wersja ( 1.6.6 (r40053)) niestety po prostu nie oferuje opcji p(na stałe). A ponieważ jest to na starożytnym pudełku, którego nie mogę już aktualizować ...
0xC0000022L

2

Moje rozwiązanie wykorzystuje oczekiwanie. Nie jest bezpieczny, ale będzie działał, gdy inne rozwiązania nie.

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.