我正在尝试登录服务器,而不是切换到另一个用户(无密码)来执行命令。我以FirstUser的身份登录没有问题,但似乎sudo -iu没有执行(如果我使用其他命令进行测试,则工作正常)。
#!/usr/bin/python3
import time
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('server.com', port=22, username='FirstUser', password='pass')
stdin, stdout, stderr = ssh.exec_command('sudo -iu SecondUser')
time.sleep(0.1)
stdin, stdout, stderr = ssh.exec_command('whoami')
stdin.flush()
print(stdout.readlines())
ssh.close()
运行此代码将返回FirstUser而不是SecondUser
['FirstUser\n']