
Existe uma opção de linha de comando para aceitar automaticamente um certificado SSL permanentemente usando a linha de comando SVN de uma forma que evite o prompt?
Responder1
Depende um pouco da sua versão do SVN. Os recentes (1.6+) têm o usual --non-interactive
(que você deseja usar para evitar avisos) e também um --trust-server-cert
que pode fazer o que você quiser.
Responder2
O uso --trust-server-cert
não aceitará permanentemente o certificado SSL. Você pode aceitar permanentemente o certificado SSL através da linha de comando usandoRedirecionamento de entradae não usando --non-interactive
.
Aqui está um exemplo para Unix/Linux:
svn list [TARGET] << EOF
p
EOF
OBSERVAÇÃO:O "p" acima é para (p) permanentemente.
Responder3
Minha solução usa expect. Não é seguro, mas funcionará quando as outras soluções não.
#!/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@.*:\/#"
Responder4
Você deve conseguir baixar o certificado e colocá-lo no diretório apropriado. Ou você pode baixar o certificado CA e definir a opção de configuraçãoarquivos de autoridade sslconfiar nessa CA.
Veja oGerenciamento de certificados SSLseção do livro.