Python远程输入Linux密码,在需要Sudo和密码输入参数的远程服务器上执行命令

我试图使用pythonparamiko在远程机器上执行sudo命令(linux2上的python2.7.9)

下面是代码。当我执行代码时,每次都会给出不同的输出,而在python>>>cmdline中运行相同的代码时,它工作得很好import paramiko

import sys

import time

def send_string_and_wait(command, wait_time, should_print):

shell.send(command)

time.sleep(wait_time)

receive_buffer = shell.recv(1024)

if should_print:

return receive_buffer

dbname='test'

cl='testdb'

host='testhost'

owner='uname'

passwd='p'

client = paramiko.SSHClient()

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client.connect(str(host), username=str(owner), password=str(passwd), port=22)

shell = client.invoke_shell()

send_string_and_wait("sudo su - oracle\n", 1, True)

send_string_and_wait(str(passwd) + "\n", 1, True)

a=send_string_and_wait("sh Validation_Final.sh" + str(' ') + str(dbname) + str(' ') + str(cl) + "\n", 0, True)

print a

client.close()

如有任何意见和建议,我们将不胜感激,谢谢!在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值