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()

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

远程Linux服务器上安装某个库,如imp库,可以通过以下步骤进行: 1. 连接到远程Linux服务器: 首先,你需要使用SSH客户端从你的本地机器远程连接到Linux服务器。例如,你可以使用命令行工具ssh: ``` ssh 用户名@服务器地址 ``` 输入密码后,你就会登录到远程服务器上。 2. 更新系统包列表: 登录到服务器后,通常需要更新系统的包列表,以确保你可以获得最新的软件包。这可以通过运行以下命令完成: ``` sudo apt update ``` 如果你使用的是基于Red Hat的系统,如CentOS或Fedora,那么应该使用: ``` sudo yum update ``` 3. 安装编译工具和依赖: 在安装imp库之前,可能需要安装一些必要的编译工具和依赖库。使用以下命令安装: ``` sudo apt install build-essential ``` 或者对于基于Red Hat的系统: ``` sudo yum groupinstall 'Development Tools' ``` 4. 安装Python包管理器pip: 如果服务器上还没有安装pip,你需要先安装它。对于Python 2,可以使用: ``` sudo apt install python-pip ``` 对于Python 3,应使用: ``` sudo apt install python3-pip ``` 5. 使用pip安装imp库: 通过pip安装库之前,你需要确认你有安装Python开发文件,这通常可以通过安装一个带有-dev后缀的包来完成。对于Python 3: ``` sudo apt install python3-dev ``` 然后使用pip安装imp库: ``` pip3 install imp ``` 注意:如果服务器上的Python版本不是3.x,可能需要使用pip而不是pip3,并且可能需要查找对应版本的库名,因为某些库可能在不同版本的Python中有不同的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值