python paramiko 向linux执行命令和发送接收文件

服务器   发布日期:2025年08月05日   浏览次数:193

发送命令

# -*- 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 = '')
#执行命令
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='')
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 paramiko 向linux执行命令和发送接收文件的资料请关注九品源码其它相关文章!