使用 paramiko 在客户端执行命令

问题描述 投票:0回答:1

我的要求是通过单击按钮在客户端启动服务器(一个应用程序)。 经过研究,我发现我们可以通过 paramiko 来实现它。 我写了以下一组代码

            client = SSHClient()
            client.load_system_host_keys()
            client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            client.connect('localhost')

但出现错误 paramiko.ssh_exception.NoValidConnectionsError: [Errno None] 无法连接到 127.0.0.1 或 ::1 上的端口 22

所以我在cmd中尝试了同样的操作

>>>ssh root@localhost
ssh: connect to host localhost port 22: Connection refused

实际上我的疑问是我需要传递什么用户名或密码才能连接? localhost 是正确的主机名吗? 我可以使用 url http://127.0.0.1:5000/ 访问我的网页 我可以在其中单击按钮并向 python 引发适当的事件。

有什么建议吗?

python ssh paramiko
1个回答
0
投票

有几点需要注意:

  1. 推荐使用Fabric代替Paramiko。

直接使用 Paramiko 本身仅适用于需要高级/低级原语或想要运行 Python 内 sshd 的用户。

  1. 要使用 ssh 连接,无论是本地计算机还是远程计算机,都需要有一个 正在运行的 ssh 服务器

  2. 使用本地主机就可以,用户名和密码取决于可用的用户以及您想要连接到远程计算机。默认情况下

    root
    用户使用 ssh 登录很可能被禁用。

与其使用 ssh 在本地计算机上执行命令,不如直接使用

subprocess
模块

© www.soinside.com 2019 - 2024. All rights reserved.