如何将ssh与python和linux一起使用来连接到windows并运行命令?

2024-05-17 03:20:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python上编写了一个通用脚本,它支持Windows和unixsh从Unix连接。在

当我从Unix尝试使用Unix命令在Windows中创建dir时,我得到exit 53

/usr/bin/ssh2 --password pass -l admin ip_address mkdir "C:\Temp\ALEX_TEST_EX" &

当我只写/usr/bin/ssh2 --password pass -l admin ip_address时,就可以了。我登录到Windows

当我在这台机器上手动尝试C:\Temp\ALEX_TEST_EX时,它也没问题。在

问题是什么?在

我还尝试使用Python ssh2命令

^{pr2}$

但我也有例外

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/python3.5/site-packages/paramiko/client.py", line 402, in connect
    self, server_hostkey_name, server_key
  File "/python3.5/site-packages/paramiko/client.py", line 768, in missing_host_key
   'Server {!r} not found in known_hosts'.format(hostname)
paramiko.ssh_exception.SSHException: Server 'X.Y.Z.W' not found in known_hosts

Tags: in命令ipparamikossh2binadminaddress
1条回答
网友
1楼 · 发布于 2024-05-17 03:20:16

您尚未将客户端计算机配置为允许您了解要连接的服务器。您可以配置客户机,也可以在paramiko上设置^{},如下所示:

代码:

要在主机不在已知主机中时发出警告:

ssh.set_missing_host_key_policy(paramiko.WarningPolicy)

要将主机自动添加到已知主机:

^{pr2}$

完整代码:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.WarningPolicy)

ssh.connect("localhost", username="admin", password="pass")

相关问题 更多 >