Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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安装git+;ssh_Git_Amazon Web Services_Ssh_Pip_Ansible - Fatal编程技术网

如何将ssh选项注入pip安装git+;ssh

如何将ssh选项注入pip安装git+;ssh,git,amazon-web-services,ssh,pip,ansible,Git,Amazon Web Services,Ssh,Pip,Ansible,我有一个新配置的AWS实例。我正在尝试使用ansible使用pip install git+ssh语法安装应用程序。然而,ansible挂起。经进一步调查,ansible被处以绞刑,因为: 无法确定主机“github.com(192.30.253.113)”的真实性。 RSA密钥指纹是16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48。 是否确实要继续连接(是/否)? 因此,我的问题是,如何将ssh选项(如-o UserKnownHostsFile

我有一个新配置的AWS实例。我正在尝试使用ansible使用
pip install git+ssh语法安装应用程序。然而,ansible挂起。经进一步调查,ansible被处以绞刑,因为:


无法确定主机“github.com(192.30.253.113)”的真实性。
RSA密钥指纹是16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48。
是否确实要继续连接(是/否)?

因此,我的问题是,如何将ssh选项(如
-o UserKnownHostsFile=/dev/null-o strichostkeychecking=no
)注入到pip命令中


还将考虑其他解决方案。

您可以通过
ssh keyscan
抓取指纹,然后自己将其放入
已知主机
文件中

ssh-keyscan -t rsa github.com >>~/.ssh/known_hosts
通过这种方式,ssh已经对密钥感到满意,您不必每次都记得添加选项

但是,如果您只是想忽略任何与指纹相关的内容,那么如果您在
~/.ssh/config
中的
github.com
主机下添加该选项(或者一般来说,但这似乎风险更大),它也应该起作用


您可以通过
ssh keyscan
抓取指纹,并将其放入
known_hosts
文件中

ssh-keyscan -t rsa github.com >>~/.ssh/known_hosts
通过这种方式,ssh已经对密钥感到满意,您不必每次都记得添加选项

但是,如果您只是想忽略任何与指纹相关的内容,那么如果您在
~/.ssh/config
中的
github.com
主机下添加该选项(或者一般来说,但这似乎风险更大),它也应该起作用


您可以使用Ansible
known_hosts
模块来执行此操作,而不是使用
ssh keyscan

- name: Tell the host about our servers it might want to ssh to
  known_hosts:
    path: '/{{ ansible_env.USER }}/.ssh/known_hosts'
    name: 'github.com'
    key: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}"
您还可以在系统范围内添加它:
/etc/ssh/ssh\u known\u hosts


希望这能帮助您

而不是使用
ssh-keyscan
,您可以使用Ansible
known\u hosts
模块:

- name: Tell the host about our servers it might want to ssh to
  known_hosts:
    path: '/{{ ansible_env.USER }}/.ssh/known_hosts'
    name: 'github.com'
    key: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}"
您还可以在系统范围内添加它:
/etc/ssh/ssh\u known\u hosts


希望这对您有所帮助

您可能想搜索
ssh-keyscan-t rsa github.com
您可能想搜索
ssh-keyscan-t rsa github.com
是的,我最后做了第一个,但在服务器上使用了全局ssh配置。这很有意义。这一行来自Travis测试文件,所以我们只关心具体的运行。是的,我最终做了第一个,但在服务器上使用了全局ssh配置。这很有意义。这行代码来自Travis测试文件,所以我们只关心具体的运行。是的,太棒了!路径应该是
path:'/{ansible_env.USER}/.ssh/known_hosts'
而不带
ssh
前缀,这太棒了!路径应该是
path:'/{ansible_env.USER}/.ssh/known_hosts'
,不带
ssh
前缀