【发布时间】:2023-03-18 10:30:01
【问题描述】:
我正在尝试通过 Python 脚本自动执行一项任务。想法是以普通用户身份登录,然后发送su 命令并切换到root 帐户。
我不能直接以root登录的原因是SSHD不允许root登录。
这是我所拥有的:
ip='192.168.105.8'
port=22
username='xyz'
password='abc'
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port,username,password)
print ("SSH connection established")
stdin,stdout,stderr=ssh.exec_command('sudo fast.sh')
outlines=stdout.readlines()
outlines+=stderr.readlines()
resp=''.join(outlines)
print(resp)
现在,我想发送su 命令并回显 root 密码。我知道这不是一个好的做法,但我需要一种快速简便的方法来测试它,所以我可以接受。
但是,当我这样做时
stdin,stdout,stderr=ssh.exec_command('su') 并提供密码,我得到一个错误
su:必须从终端运行
谁能帮我解决这个问题。
我正在我的 Windows 笔记本电脑上运行 Python 脚本以通过 ssh 连接到 Linux 设备,然后使用 su 命令切换到 root 用户并回显密码,以便我可以以 root 身份运行其他命令。
谢谢。
【问题讨论】:
标签: python ssh sudo paramiko su