Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there an command line option to auto accept a SSL certificate permanently using the SVN commandline in a way that avoids the prompt?

share|improve this question
Would this be a better fit at Stack Overflow? – James McMahon Jul 8 '09 at 20:46
up vote 17 down vote accepted

It depends somewhat on your version of svn. Recent (1.6+) ones have the usual --non-interactive (which you want to use to avoid prompts) and also a --trust-server-cert that may do what you want.

share|improve this answer
This solution seems to work. Unfortunately the command line certificate accept didn't solve my initial problem. Oh well, at least I know what doesn't work now. – James McMahon Jul 9 '09 at 15:19
If this still doesn't work, it may be because you can't access/create the .subversion directory in your home directory. Solution found here: – icc97 Apr 26 '12 at 16:40
The link is dead. Is there another source? – Joe McMahon Jan 17 '13 at 1:01
I ended up having to use both options, now it works, thanks! – rogerdpack Apr 29 '15 at 20:38

Using --trust-server-cert will not permanently accept the SSL certificate. You can permanently accept the SSL certificate via the command line using Input Redirection and not using --non-interactive.

Here's an example for Unix/Linux:

svn list [TARGET] << EOF

NOTE: The "p" above is for (p)ermanently.

share|improve this answer

My solution uses expect. It isn't secure but it will work when the other solutions won't.

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

You should be able to download the certificate and then place it in the appropriate directory. Or you can download the CA certificate and then set the configuration option ssl-authority-files to trust that CA.

See the SSL Certificate Management section in the book.

share|improve this answer
I'm in a very strange situation here, see…, so I want to be able to pull it off in one command. – James McMahon Jul 8 '09 at 21:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.