我正在编写脚本以在多个服务器上执行某些操作。 我以前使用1个帐户登录服务器的地方,后来需要做sudo来切换帐户,这是行不通的。
在cmd以下尝试过
stdin, stdout, stderr = ssh.exec_command('sudo su - user')
得到以下错误 标准输入,标准输出,标准错误= ssh.exec_command('sudo su-user') ^ TabError:缩进中的制表符和空格不一致使用
.......
ssh = paramiko.SSHClient() `ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())`
ssh.connect(host,username=uname,password=pwd)
stdin, stdout, stderr = ssh.exec_command("hostname")
stdin, stdout, stderr = ssh.exec_command('sudo su - user')
.....
发布ssh连接后,我的脚本应切换用户。 对于e.x->服务器abc.com,uname = abhi,密码= pwd,用户= xyz
比输出要大
login as: abhi
abhi@abc.com's password:
Last login: Thu Apr 4 01:49:06 2019 from abc.com
[abhi@abc.com ~]$ sudo su - xyz
Last login: Thu Apr 4 06:38:36 CDT 2019 on pts/6
[xyz@abc.com ~]$