使用paramiko登录到主机后需要执行sudo su-useraccount

时间:2019-01-03 17:31:58

标签: python python-3.x paramiko

我想对数量在250台以上的多台服务器进行一些审核,并且每周需要进行一次审核,因此我需要投入大量的人工。与其手动进行操作,不如使用paramiko模块将其与Python自动化。

在我的情况下,首先我必须登录到主机,然后必须切换帐户(sudo su - useraccount),它将提示输入密码。 成功登录后,我必须执行一些与应用程序相关的命令。

我可以登录到主机,但不能切换到用户帐户。

import paramiko
from time import sleep

command = 'pwd'
remoteHost = "IP Address"
sshPort = 22
sshUser = "basic username"
sshPass = "my password"

ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(remoteHost, sshPort, sshUser, sshPass)

stdin, stdout, stderr = ssh.exec_command("sudo su - useraccount", get_pty=True)
stdin.write('Password\n')
stdin.flush()

    stdin, stdout, stderr=ssh.exec_command(command)

for line in stderr:
    print(line)
ssh.close()

它应该打印帐户“ useraccount”的主目录路径。

0 个答案:

没有答案