You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python+Linux通过SSH连接Windows执行命令的方法及问题排查

解决Python+Linux通过SSH连接Windows执行命令的两个问题

让我们一步步来解决你遇到的两个问题——ssh2命令执行mkdir返回exit 53,以及paramiko库的主机密钥异常。

一、解决ssh2命令执行mkdir返回exit 53的问题

你提到手动登录Windows SSH没问题,手动创建目录也正常,但通过ssh2命令执行就失败,exit 53通常和路径解析错误有关,核心原因是Unix Shell会把Windows路径里的反斜杠(\)当成转义字符,导致实际传递给Windows的路径被篡改了。

试试这几种修改方式:

1. 用正斜杠替换反斜杠(Windows原生支持正斜杠作为路径分隔符)

把命令里的C:\Temp\ALEX_TEST_EX改成C:/Temp/ALEX_TEST_EX,完整命令:

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

2. 在Unix Shell中转义反斜杠

把每个反斜杠换成双反斜杠,让Shell不解析它,完整命令:

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

3. 用单引号包裹路径

单引号会让Unix Shell完全忽略内部的转义字符,直接把原路径传递给Windows:

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

额外验证建议:登录Windows SSH后,手动执行mkdir "C:\Temp\ALEX_TEST_EX"确认是否能成功,确保父目录C:\Temp确实存在(如果不存在,需要先创建它,Windows的mkdir默认不支持递归创建,得先建Temp再建子目录)。

二、解决paramiko的Server 'X.Y.Z.W' not found in known_hosts异常

这个错误是因为paramiko默认会检查本地~/.ssh/known_hosts文件,而你的Windows主机密钥还没被添加到这个文件里。有三种解决方式:

1. 手动添加主机密钥到known_hosts

在Unix终端执行以下命令,第一次登录时输入yes确认添加主机密钥:

ssh admin@X.Y.Z.W

这样主机密钥就会自动保存到~/.ssh/known_hosts,之后paramiko就能正常识别了。

2. 在paramiko中禁用主机密钥检查(仅测试环境用)

如果是测试场景,可以临时禁用主机密钥验证,添加AutoAddPolicy()策略:

import paramiko

# 创建SSH客户端实例
client = paramiko.SSHClient()
# 设置自动添加未知主机密钥的策略
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接Windows主机
client.connect('X.Y.Z.W', username='admin', password='pass')

# 执行mkdir命令(推荐用正斜杠路径避免转义问题)
stdin, stdout, stderr = client.exec_command('mkdir "C:/Temp/ALEX_TEST_EX"')

# 打印命令输出和错误信息
print("命令输出:", stdout.read().decode('utf-8'))
print("错误信息:", stderr.read().decode('utf-8'))

# 关闭连接
client.close()

⚠️ 注意:这种方式在生产环境不安全,会暴露给中间人攻击风险,仅用于测试场景。

3. 指定自定义known_hosts文件路径

如果你的known_hosts文件不在默认的~/.ssh/known_hosts位置,可以手动加载:

client = paramiko.SSHClient()
client.load_host_keys('/path/to/your/known_hosts')
client.connect('X.Y.Z.W', username='admin', password='pass')

内容的提问来源于stack exchange,提问作者user9280049

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:41:14