#!/usr/bin/env python
#-*- coding:utf-8 -*-
import paramiko
#ssh 功能
ssh = paramiko.SSHClient()
ssh.load_system_host_keys() #倒入 字典格式的公钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #如果本地没有连接过会自动添加 字典
ssh.connect(hostname='172.16.243.130',username='root',password='123456',port=22)
stdin,stdout,stderr = ssh.exec_command('uptime') #ssh.exec_command返回一个元祖
print stdout.read()
ssh.close()
代码
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import paramiko
def task(hostname,port,username,password,cmd):
''' 远程执行命令
@param hostname 主机名
@type str
@param port 端口
@type int
@param username 用户名
@type str
@param password 密码
@type str
@param cmd 命令
@type str
'''
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname=hostname,port=port,username=username,password=password)
stdin,stdout,stderr = ssh.exec_command(cmd)
return stdout.read()
except Exception,e:
print e
return e
finally:
if ssh:
ssh.close() #finally 无论是否有问题 代码块都会被执行
def main():
result = task('172.16.243.130',22,'root','123456','uname -s')
print result
if __name__ == '__main__':
main()