python ,Paramiko : How to do a "ssh -n user@host cmd" using paramiko?

标签 python ssh paramiko

我正在尝试通过 SSH 从 Python 远程执行命令,在这种特殊情况下需要将 stdin 重定向到/dev/null。

也就是说,与使用带有 -n 标志的 OpenSSH 客户端相同:

ssh -n user@host cmd

如何使用 Paramiko 实现此 (-n) ?

paramiko.SSHClient.exec_command() 似乎不允许这样做,但也许我遗漏了什么?

最佳答案

除非我错误地理解你的问题:你不需要实现这个。除非您自己明确地这样做,否则不会自动从标准输入读取/写入远程进程的标准输入。所以您不需要阻止从标准输入读取数据?

编辑:如果远程进程需要 stdin 上的数据并一直等待它,可能会出现问题?尝试在 channel 上调用 shutdown_write():

stdin, stdout, stderr = client.exec_command(cmd)
stdin.channel.shutdown_write()

关于 python ,Paramiko : How to do a "ssh -n user@host cmd" using paramiko?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7555805/

相关文章:

linux - 当端口意外更改为超过 65535 时,如何通过 ssh 连接到服务器?

linux - windows 上的远程 powershell 脚本不通过 linux 中的 python 脚本运行

python - UnicodeDecodeError 读取 CSV 中的字符串

python - 将不同版本的 Python 包的不同版本上传到奶酪店

python - 在 python 中处理斜杠

python - 带有 key 和用户名/密码的 Paramiko SFTP - "Oops, unhandled type 3"

linux - 使用 Python 从 Linux 执行窗口应用程序

python - 模仿 spyder 排序列

shell - 如何在不使用 winscp/任何工具的情况下将压缩文件夹从桌面传输到 unix 服务器?

c# - 当 ssh 客户端与 ssh 服务器断开连接时,如何减少 ssh.net 超时?