gpt4 book ai didi

python - 使用私钥进行 Testinfra ssh 执行

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:49 24 4
gpt4 key购买 nike

使用testinfra(Pytest插件)进行测试。我想使用私钥从 Jenkins 测试远程主机。

[root@jenkins tests]# testinfra --ssh-config=/path/to/private/key \
--sudo --hosts=user@remotehost test.py

哪里

$ cat /path/to/private/key
-----BEGIN RSA PRIVATE KEY-----
(...)
-----END RSA PRIVATE KEY-----

$ cat test.py
def test_redis_is_installed(host):
redis = host.package("redis")
assert redis.is_installed

我得到的是

E               Exception: Unparsable line -----BEGIN RSA PRIVATE KEY-----

/usr/lib/python2.7/site-packages/paramiko/config.py:68: Exception
================================================================================= warnings summary ==================================================================================
None
Module already imported so can not be re-written: testinfra

-- Docs: http://doc.pytest.org/en/latest/warnings.html
======================================================================= 1 failed, 1 warnings in 0.23 seconds ========================================================================

似乎 paramiko 不喜欢这种格式,但尝试了其他后端,但效果不佳。那我该如何传递私钥呢?

最佳答案

--ssh-config 必须是 ssh config 的路径。您在该配置中为主机配置 key 对。

类似于 ~/.ssh/config 中的内容:

Host remotehost
User user
IdentityFile remotehost-key

关于python - 使用私钥进行 Testinfra ssh 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com