尝试在你的环境中莫名其妙地设置这样的:
export CVS_RSH='ssh -o PreferredAuthentications="password"'
这应该得到它停止尝试公钥认证,这也将打压图形化的ssh-askpass的显示。这通过指定CVS将用于连接到远程服务器的SSH命令来工作。请注意,这将适用于从设置环境变量的上下文运行的所有CVS命令。
您可能还想考虑在您的~/.ssh/config
中设置它。您可以分别为每个主机设置选项。 Here's a page that roughly shows how,虽然用于强制publickey认证。请注意,这将影响您的用户帐户的所有SSH使用,而不仅仅是CVS。这可能就是你正在寻找的东西,因为你似乎更喜欢避免使用publickey认证。下面是你在~/.ssh/config
添加块的例子:
Host cvs
Hostname cvs.your.corp
User yourCVSusername
PreferredAuthentications password
或者,你可以改变Host cvs
到Host cvs.your.corp
如果您现有的访问本采用的是FQDN,而不是只是一个主机名的方式。
最后,您可以通过仅这一条线有你的~/.ssh/config
文件(或将其添加到现有的顶部):
PreferredAuthentications password
,这将使优先适用于所有的SSH连接到远程主机。
好运。我希望这能让你摆脱模态对话陷阱。
您已经添加了赏金,但您从未回复过任何人第一次提出的建议。我们不知道你是否尝试过这些解决方案。 – phils 2011-06-12 21:43:36
@phils:好点(虽然我曾对此做过评论)。你自己的回答是一个很好的暗示,但这不完全是我的问题的答案。我认为sanityinc的答案,你也很重视(谢谢),这是正确的方向。但这不是一个“解决方案”。 – Thomas 2011-06-18 13:14:43