使用URL在SSH中登录密码

时间:2013-04-28 20:44:10

标签: git ssh jenkins passwords storage

我让Jenkins克隆了Git存储库

  

SSH://用户@ IP /回购/

并且一切正常,但我需要使用密码登录,Jenkins不支持。有没有办法在URL中使用密码登录?安全对我来说不是问题。它应该最终存在,我认为最初是这样的:

  

SSH://用户:通过@ IP /回购/

但它不起作用。谢谢!

更新#1: git repo位于同一台服务器上。

2 个答案:

答案 0 :(得分:6)

SSH要求您输入密码有两个原因:

  • 在服务器上找不到公钥,这意味着ssh默认使用用于ssh会话的帐户,要求输入密码
  • 找到公钥,但私钥受密码保护。

第一种情况意味着ssh无法正常工作:您从不必须输入您用于ssh的帐户的密码。
我们的想法是能够对某人进行身份验证,即使所有ssh连接都使用一个唯一帐户。输入该唯一帐户的密码就会失败。

第二种情况应该很容易通过running ssh-agent and ssh-add来解决 这将允许您输入密码(将密钥添加到代理时不止一次)。

答案 1 :(得分:1)

有人可以纠正我,我认为这是不可能的,因为密码提示实际上是来自SSH服务器,而不是来自SSH应用程序。查看我的本地SSH帮助页面,并且无法从命令行将密码传递到SSH。这也存在一些严重的安全风险,因为密码可以纯文本形式提供。

有了这个,你最好(也更安全)的赌注是做一个不需要设置密码的公钥/私钥对。根据您的环境,使用Jenkins和Git进行此设置可能会有点挑战,但最终完全值得。