发送命令
# -*- coding: utf-8 -*- import paramiko ''' paramiko 模块可以用了向linux执行命令和发送接收文件 ''' #创建SSH 对象 ssh = paramiko.SSHClient() #允许连接不在know_hosts文件的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddpolicy) #连接服务器 ssh.connect(hostname='16.17.101.33',port=22,username='root',password = '123') #执行命令 stdin,stdout,stderr = ssh.exec_commadn('ls') #获取命令结果 res = stdout.read() #关闭连接 ssh.close()
发送文件:
# -*- coding: utf-8 -*- import paramiko tran = paramiko.transport(('hostname',22)) tran.connect(username='root',password='123') sftp = paramiko.SFTPClient.from_transport(tran) #将test.py 上传至 /tmp/test_new.py sftp.put('/tmp/test.py','/tmp/test_new.py') #将远程文件下载到本地 sftp.get('远程文件路径','本地路径') tran.close()
使用秘钥登录:
# -*- coding: utf-8 -*- ''' 使用公钥的方式进行用户登录 ''' import paramiko #这个路径是一个本地存储公钥的路径 private_key = paramiko.RSAKey.from_private_key_file('/home/root/.ssh/id_rsa') #创建SSH 对象 ssh = paramiko.SSHClient() #允许连接不在know_hosts 文件的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接服务器 ssh.connect(hostname='16.17.101.33',port=22,username='root',pkey = private_key) #执行命令 stdin,stdout,stderr = ssh.exec_commadn('ls') #获取命令结果 res = stdout.read() #关闭连接 ssh.close()
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python paramiko 向linux执行命令和发送接收文件 - Python技术站