如何使用带有密码的paramiko执行“ sudo su-oracle”命令?

时间:2019-07-18 05:30:10

标签: python-3.x oracle shell putty paramiko

我想从服务器登录到oracle数据库。我能够成功连接到服务器。但无法执行命令:

  

sudo su-甲骨文。

我尝试执行命令“ sudo oracle”,而不是上面的命令,但得到以下语句作为输出:

  

b' mypassword \ r \ n [strong] my_username 的密码:\ r \ nsudo: oracle:找不到命令'

from paramiko import SSHClient
import paramiko

client = SSHClient()
client.set_missing_host_key_policy(paramiko.client.AutoAddPolicy)
client.connect('server', username='username', password='password')
#stdin, stdout, stderr = client.exec_command("sudo su - oracle")
stdin, stdout, stderr = client.exec_command('sudo su - oracle', get_pty=True)
stdin.write('password\n')  # I donno \n is compulsory or not. My password don't have it
stdin.flush()
print(stderr.read().strip())
print(stdout.read().strip())
stdin, stdout, stderr = client.exec_command("pwd")
print(stdout.read().strip())
sftp = client.open_sftp()

运行此脚本时,cmd停留了很长时间。既不显示输出也不显示错误。我可以知道我犯了什么错误吗?并且应该在脚本中进行哪些编辑才能连接到oracle数据库。我第一次使用paramiko。如果有人可以用我的脚本解决此问题,那将非常有帮助。在此先感谢!

0 个答案:

没有答案