Como você aceita um certificado SSL através da linha de comando SVN?


20

Existe uma opção de linha de comando para aceitar automaticamente um certificado SSL permanentemente usando a linha de comando SVN de forma a evitar o prompt?


Este seria um ajuste melhor no Stack Overflow?
James McMahon

Respostas:


20

Depende um pouco da sua versão do SVN. Os mais recentes (1.6+) têm o habitual --non-interactive(que você deseja usar para evitar avisos) e também um --trust-server-certque pode fazer o que você deseja.


Esta solução parece funcionar. Infelizmente, a aceitação do certificado da linha de comando não resolveu meu problema inicial. Bem, pelo menos eu sei o que não funciona agora.
21419 James McMahon

Se isso ainda não funcionar, pode ser porque você não pode acessar / criar o diretório .subversion no diretório inicial. Solução encontrada aqui: chipsandtv.com/articles/svn-invalid-certificates
icc97

O link chipsandtv.com está morto. Existe outra fonte?
Joe McMahon


Acabei tendo que usar as duas opções, agora funciona, obrigado!
Rogerdpack 29/04

10

O uso --trust-server-certnão aceitará permanentemente o certificado SSL. Você pode aceitar permanentemente o certificado SSL através da linha de comando usando o Redirecionamento de entrada e não o usando --non-interactive.

Aqui está um exemplo para Unix / Linux:

svn list [TARGET] << EOF
p
EOF

NOTA: O "p" acima é para (p) de forma permanente.


Bem, 1.6.6 (r40053)infelizmente minha versão ( ) simplesmente não oferece a popção (permanentemente). E como está em uma caixa antiga que não consigo mais atualizar ... #
0xC0000022L

2

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.