gpt4 book ai didi

python - 在 Paramiko 中使用 ssh_config 文件

转载 作者:行者123 更新时间:2023-12-02 14:06:48 26 4
gpt4 key购买 nike

我需要使用 SSH 连接到服务器来下载文件。我有 Ubuntu,并以标准方式设置了 SSH:我有一个 ssh_config文件在 .ssh它为服务器地址( host_key )和用户名定义了一个主机条目(比如 Hostname.com ),并且我已经设置了一个 RSA key 。因此,当我尝试从命令行或 bash 登录 SSH 时,我只需要使用 ssh host_key
我想在 Python 中做到这一点。标准解决方案似乎是使用 Paramiko 来建立连接。我试过这个:

from paramiko import SSHClient
from scp import SCPClient

ssh = SSHClient()
ssh.load_system_host_keys()
ssh.connect('host_key')

scp = SCPClient(ssh.get_transport())
# etc...

但是,它似乎总是在 ssh.connect('host_key') 上挂起并超时。 .即使我尝试包含用户名和密码: ssh.connect('host_key', username='usrnm', password='pswd') .

我的主机 key 没有正确加载吗?这也会处理 RSA key 吗?

仅当我使用整个 Hostname.com 时才有效带有用户名和输入的密码。这可能有点不安全。

最佳答案

我不认为使用 ssh_config 很常见使用 Paramiko(或任何其他代码/语言)的文件。 ssh_config是 OpenSSH 工具的配置文件,一般不用于 SSH。

通常,您直接在代码中指定您的私钥作为 SSHClient.connect 的参数。方法:
How to access to a remote server using Paramiko with a public key-file

如果您想继续使用 ssh_config , Paramiko 可以解析它。查看 parse_ssh_configlookup_ssh_host_config职能。但我相信,您仍然需要从配置中查找 key 文件并将其显式传递给 SSHClient.connect方法。

关于python - 在 Paramiko 中使用 ssh_config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56441961/

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