¿Cómo se acepta un certificado SSL a través de la línea de comando SVN?


20

¿Existe una opción de línea de comando para aceptar automáticamente un certificado SSL de forma permanente utilizando la línea de comando SVN de una manera que evite la solicitud?


¿Sería mejor para Stack Overflow?
James McMahon

Respuestas:


20

Depende un poco de su versión de SVN. Las recientes (1.6+) tienen lo habitual --non-interactive(que desea utilizar para evitar avisos) y también una --trust-server-certque puede hacer lo que desee.


Esta solución parece funcionar. Lamentablemente, el certificado de línea de comando aceptar no resolvió mi problema inicial. Oh, bueno, al menos sé lo que no funciona ahora.
James McMahon

Si esto todavía no funciona, puede ser porque no puede acceder / crear el directorio .subversion en su directorio de inicio. Solución encontrada aquí: chipsandtv.com/articles/svn-invalid-certificates
icc97

El enlace chipsandtv.com está muerto. ¿Hay otra fuente?
Joe McMahon


Terminé teniendo que usar ambas opciones, ahora funciona, ¡gracias!
rogerdpack

10

El uso --trust-server-certno aceptará permanentemente el certificado SSL. Puede aceptar permanentemente el certificado SSL a través de la línea de comandos utilizando la redirección de entrada y no utilizando --non-interactive.

Aquí hay un ejemplo para Unix / Linux:

svn list [TARGET] << EOF
p
EOF

NOTA: La "p" anterior es para (p) de forma permanente.


Bueno, 1.6.6 (r40053)desafortunadamente mi versión ( ) simplemente no ofrece la popción (permanentemente). Y dado que esto está en una caja antigua que ya no puedo actualizar ...
0xC0000022L

2

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.