paramiko模块使用方法(十二)

本文演示了如何使用Python的Paramiko库实现SSH登录远程服务器并执行命令,以及通过SFTP进行文件的上传和下载。示例中展示了连接本地虚拟机并执行`ls -l`命令,以及在虚拟机与本地之间传输文件的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实现SSH登陆

import paramiko

if __name__ == '__main__':
    client = paramiko.SSHClient() #新建ssh对象
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #自动添加认证策略
    client.connect(hostname='10.50.10.150',port=22,username='kali',password='kali') #连接至服务器
    stdin,stdout,stderr = client.exec_command('ls -l') #执行命令
    result = stdout.read().decode() #获取执行结果
    err = stderr.read() #获取错误提示,如没有出错则无输出
    client.close() #关闭连接
    print(result)

执行结果为(连接主机为本地虚拟机)

二、实现sftp功能

import paramiko

if __name__ == '__main__':
    transport = paramiko.Transport(('10.50.10.150',22)) #创建传输对象
    transport.connect(username='kali',password='kali') #建立连接
    sftp = paramiko.SFTPClient.from_transport(transport) #将实例Transport作为参数传入SFTPClient中
    sftp.put(r'E:\Users\Desktop\test.txt','/opt/test1.txt') #将本地桌面test.txt文件上传至虚拟机opt目录下
    sftp.get('/opt/test2.txt',r'E:\Users\Desktop\test2.txt') #将虚拟机opt目录下test2.txt下载到本地桌面
    transport.close() #关闭连接

拓展知识

        f' ':格式化

        r' ':去除转义

        b' ':指定为字节类型

        u' ':指定为Unicode编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值