
¿Existe una opción de línea de comando para aceptar automáticamente un certificado SSL de forma permanente usando la línea de comando SVN de una manera que evite el mensaje?
Respuesta1
Depende un poco de su versión de SVN. Los recientes (1.6+) tienen lo habitual --non-interactive
(que desea usar para evitar mensajes) y también uno --trust-server-cert
que puede hacer lo que desee.
Respuesta2
El uso --trust-server-cert
no aceptará permanentemente el certificado SSL. Puede aceptar permanentemente el certificado SSL a través de la línea de comando usandoRedirección de entraday no usar --non-interactive
.
Aquí hay un ejemplo para Unix/Linux:
svn list [TARGET] << EOF
p
EOF
NOTA:La "p" de arriba es para (p)manentemente.
Respuesta3
Mi solución usa esperar. No es seguro pero funcionará cuando las otras soluciones no lo hagan.
#!/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@.*:\/#"
Respuesta4
Debería poder descargar el certificado y luego colocarlo en el directorio apropiado. O puede descargar el certificado de CA y luego configurar la opción de configuraciónarchivos de autoridad sslconfiar en esa CA.
Ver elGestión de certificados SSLsección del libro.