Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Ssh 如何使pip安装接受服务器';什么是公钥?_Ssh_Pip - Fatal编程技术网

Ssh 如何使pip安装接受服务器';什么是公钥?

Ssh 如何使pip安装接受服务器';什么是公钥?,ssh,pip,Ssh,Pip,我有一个私有的git repo,需要配置我的部署脚本,以便pip安装所有要求,包括来自私有repo的应用程序。我已将我的ssh代理配置为转发,因此我自己的身份验证不是问题-问题是新开发机器在.ssh/known_hosts中没有repo的服务器公钥,因此pip安装失败: 主机密钥验证失败 有没有办法让pip安装静默地接受公钥而不抱怨?我知道安全问题,这只是为了测试。 1) 查找主机密钥.ssh/known_hosts并将其添加到/etc/ssh/ssh_known_hosts中,作为服务器设置的

我有一个私有的git repo,需要配置我的部署脚本,以便pip安装所有要求,包括来自私有repo的应用程序。我已将我的ssh代理配置为转发,因此我自己的身份验证不是问题-问题是新开发机器在
.ssh/known_hosts
中没有repo的服务器公钥,因此pip安装失败:

主机密钥验证失败

有没有办法让
pip安装
静默地接受公钥而不抱怨?我知道安全问题,这只是为了测试。

1) 查找主机密钥.ssh/known_hosts并将其添加到
/etc/ssh/ssh_known_hosts
中,作为服务器设置的一部分

2) 添加选项

StrictHostKeyChecking=no
到.ssh/config或/etc/ssh/config


选项1)是“更好”的,因为它更安全

,但这应该适用于git+ssh URL:

GIT_SSH_COMMAND='ssh -o StrictHostKeyChecking=no' pip install -r requirements.txt

谢谢你的提示,但这不是我想要的。前者更安全,但现在不适合我。后者可以关闭所有功能,我想暂时关闭它,只用于一个pip安装调用;echo“strichostkeychecking=no”>.ssh/config;pip安装git+ssh://://git@github.com/无论什么/回购;mv.ssh/config.real.ssh/config好吧,我想我应该把重点放在实际问题上,而不是解释(示例)背景:-)我要找的是如何让pip安装接受证书-就是这样。我希望有一种干净的方法来实现它,没有副作用……我认为我看待它的方式是,pip使用ssh作为黑盒,
主机密钥验证失败。
来自ssh,修复它的方法是在ssh层修复它。如果ssh可以忽略或接受主机密钥,那么pip将忽略主机密钥。也许比我有更好的pip巫毒的人可以建议一种将ssh选项传递给pip的方法,从我看来,似乎没有办法将其设置为pip级别。我知道pip在后台使用ssh,但它可以根据用户的意愿控制一些关键选项。。。好吧,没关系,如果没有其他人找到最终的解决办法,我会接受你的答案:-)