Python paramiko 连接Linux服务器执行linux命令

# coding=utf-8
import paramiko
 
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='10.20.10.9', port=22, username='root', password='12345678')
 
# 执行命令 exec_command('ls')
stdin, stdout, stderr = ssh.exec_command("ls")
# 获取命令结果
result = stdout.read()
print result
 
# 关闭连接
ssh.close()

执行多条linux命令:

try:
    ssh_client = paramiko.SSHClient()
    ssh_client.load_system_host_keys()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(host,22,'user','PWD')
    std_in,std_out,std_err = ssh_client.exec_command('cd /home/swuser/share/;tar -zxvf requests-2.13.0.tar.gz;cd requests-2.13.0;sudo -S python setup.py install',get_pty=True) 
# 在command命令最后加上 get_pty=True,执行多条命令 的话用;隔开,
另外所有命令都在一个大的单引号范围内引用
    std_in.write('PWD'+'\n') #执行输入命令,输入sudo命令的密码,会自动执行
    for line in std_out:
        print line.strip('\n')
    ssh_client.close()
except Exception,e:
    print e

你可能感兴趣的:(linux)