Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
svn+;没有来自命令行的密码的ssh?_Svn - Fatal编程技术网

svn+;没有来自命令行的密码的ssh?

svn+;没有来自命令行的密码的ssh?,svn,Svn,我想做什么 svn update /Users/radek/Sites/3.0.5/ -r HEAD --force 不需要输入密码 svn连接到我们的存储库服务器,但我不确定使用哪个用户名(我如何才能找到?)。我猜可能是root或radek 我为svn输入的密码与存储库服务器上root的密码相同,因此我将公钥添加到root的authorized_keys文件中。所以我用ssh连接到存储库服务器,而不键入密码,但这根本不影响svn请求密码。存储库服务器上用户radek的密码与我为svn up键

我想做什么

svn update /Users/radek/Sites/3.0.5/ -r HEAD --force
不需要输入密码

svn连接到我们的存储库服务器,但我不确定使用哪个用户名(我如何才能找到?)。我猜可能是
root
radek

我为svn输入的密码与存储库服务器上root的密码相同,因此我将公钥添加到root的authorized_keys文件中。所以我用ssh连接到存储库服务器,而不键入密码,但这根本不影响svn请求密码。存储库服务器上用户radek的密码与我为
svn up键入的密码不同

如果我从Eclipse提交了一些东西,那么作者就是radek

解决方案 告诉哪个用户我必须登录到存储库服务器,然后我将公钥添加到其授权密钥文件中。现在,在使用svn时,我不必输入pass。

有一个名为“ssh代理”的程序,它将在内存中保存一个未锁定的RSA或DSA密钥,并通过UNIX套接字将该密钥提供给ssh。假设您生成RSA或DSA公钥/私钥对,并将公钥添加到远程主机的“authorized_keys”或“authorized_keys 2”文件,则这可用于“无密码”SSH连接。当您第一次向ssh代理添加密钥或打开ssh代理时,您将需要提供密码,但后续使用ssh时可能不需要密码。您可能会发现以下文章对设置SSH代理很有帮助:


请注意,在Mac OS X上(从10.5及更高版本开始),如果生成私钥/公钥对并将公钥放入远程主机的授权密钥文件中,当您SSH到该主机时,Mac OS X将自动启动自己的SSH代理(无需安装),并提供记住密码(它将保存在KeyChain中)。您可以在上阅读更多信息。

如果无法使用密钥文件,请使用(在Linux中):

安装sshpass

$ sudo apt-get install sshpass
设置临时环境变量

$ export SSHPASS=yourpass
编辑svn配置文件

$ nano ~/.subversion/config
最后,在
ssh
命令之前,注释掉add
sshpass-e
到ssh行

ssh = $SVN_SSH sshpass -e ssh -q -o ControlMaster=no

你运行ssh代理了吗?你把你的密钥添加到代理了吗?不是关于编程的。投票决定迁移到我是一名程序员,这帮助我编写了一个程序来自动svn签入我的程序。我使用的是OS X 10.6.2,我在存储库服务器上向根用户的“授权密钥”添加了公钥,但没有帮助。或者我遗漏了什么?除非你是作为root认证的,否则你不应该把它放在那里;您应该将它放在远程主机上的“~/.ssh/authorized_keys2”下。您还必须确保主机配置为允许使用这些密钥(某些系统配置为不允许使用这些密钥)。~是主目录,对吗?我必须键入的密码不是用户“radek”的密码,而是“root”的密码。我可以登录到存储库服务器,而无需键入任何root密码,但这没有帮助。仍然要输入svn密码,因为svn的“最短无密码ssh教程”也被破坏了。我把它编辑成指向另一个地方的副本,谢谢:)我找了这么久
ssh = $SVN_SSH sshpass -e ssh -q -o ControlMaster=no