【发布时间】:2023-10-28 08:49:01
【问题描述】:
我有一个简单的python 脚本,它使用paramiko 模块来ssh 登录到ubuntu PC 并将其关闭。
问题是脚本不起作用,而如果手动将命令输入到python 解释器中,命令会按预期工作,远程 PC 会关闭。
这是我的代码
#!/usr/bin/python3
import paramiko, subprocess
remote_ip=''
remote_user=''
remote_password=''
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(remote_ip, username = remote_user, password = remote_password,look_for_keys = False, allow_agent = False)
stdin, stdout, stderr = ssh.exec_command('sudo poweroff', get_pty = True)
stdin.write(remote_password+'\n')
stdin.flush()
ssh.close()
print(stdout.readlines())
print(stderr.readlines())
【问题讨论】:
-
您是否收到任何错误消息?
-
我建议在没有
get_pty = True的情况下尝试它,因为您只运行一个命令,并且当您的脚本无法生成时,请求伪终端可能会导致问题 -
不,我没有收到任何错误消息
-
但是当我在 python 解释器中输入完整指令时,get_pty = True 可以工作
标签: ubuntu python linux ubuntu ssh paramiko