James McMahon Asked: 2009-07-09 12:34:40 +0800 CST2009-07-09 12:34:40 +0800 CST 2009-07-09 12:34:40 +0800 CST 如何通过 SVN 命令行接受 SSL 证书? 772 是否有命令行选项可以使用 SVN 命令行以避免提示的方式永久自动接受 SSL 证书? svn command-line-interface ssl 4 个回答 Voted Best Answer pjz 2009-07-10T06:20:36+08:002009-07-10T06:20:36+08:00 这在一定程度上取决于您的 SVN 版本。最近(1.6+)的有通常的--non-interactive(你想用它来避免提示),也--trust-server-cert可以做你想做的。 Jesse 2013-04-24T10:08:55+08:002013-04-24T10:08:55+08:00 使用--trust-server-cert不会永久接受 SSL 证书。您可以通过命令行使用输入重定向永久接受 SSL 证书,而不是使用--non-interactive. 以下是 Unix/Linux 的示例: svn list [TARGET] << EOF p EOF 注意:上面的“p”是(p)永久的。 Matt Friedman 2014-12-26T06:04:35+08:002014-12-26T06:04:35+08:00 我的解决方案使用期望。它不安全,但当其他解决方案不安全时它会起作用。 #!/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@.*:\/#" Zoredache 2009-07-09T13:04:49+08:002009-07-09T13:04:49+08:00 您应该能够下载证书,然后将其放在适当的目录中。或者您可以下载 CA 证书,然后设置配置选项ssl-authority-files以信任该 CA。 请参阅本书中的SSL 证书管理部分。
这在一定程度上取决于您的 SVN 版本。最近(1.6+)的有通常的
--non-interactive
(你想用它来避免提示),也--trust-server-cert
可以做你想做的。使用
--trust-server-cert
不会永久接受 SSL 证书。您可以通过命令行使用输入重定向永久接受 SSL 证书,而不是使用--non-interactive
.以下是 Unix/Linux 的示例:
注意:上面的“p”是(p)永久的。
我的解决方案使用期望。它不安全,但当其他解决方案不安全时它会起作用。
您应该能够下载证书,然后将其放在适当的目录中。或者您可以下载 CA 证书,然后设置配置选项ssl-authority-files以信任该 CA。
请参阅本书中的SSL 证书管理部分。