#Python3 paramiko

本文详细介绍了Python Paramiko库的使用方法,包括SSH密码登录、免密登录及SFTP文件传输。通过实例展示了如何执行远程命令和进行文件传输。

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

python paramiko

概述
关于ssh登录python的paramiko库也提供了ssh的登录功能,我们可以通过paramiko库更加深入的了解ssh登录

使用方式

密码登录

import paramiko
#new出来一个ssh客户端
ssh_client = paramiko.SSHClient()
#ssh需要询问是否加入key,为了不让那一步把程序卡住,这个条件会设置自动添加key
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#让ssh客户端去使用账户密码连接远程服务器
ssh_client.connect('127.0.0.1',22,'canvas','tusbasa1')
#执行命令
cmd = 'ls /;pwd'
#解包标准输出
stdin,stdout,stderr = ssh_client.exec_command(cmd)

for line in stdout:
    print(line)

免密登录

import paramiko

#找到公钥的地址
private_key_path = '/Users/canvas/.ssh/id_rsa'
#把公钥加载进入paramiko框架
key = paramiko.RSAKey.from_private_key_file(private_key_path)
#初始化paraiko客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#ssh免密链接
ssh.connect('111.231.203.174', 22, 'root', key)
#打印出标准输出
stdin, stdout, stderr = ssh.exec_command('df -h')
print(stdout.read())
ssh.close()

文件传输

import paramiko
#文件传输链接
t = paramiko.Transport('127.0.0.1', 22)
t.connect(username='rimi', password='mima')
#传输文件
sftp = paramiko.SFTPClient.from_transport(t)

#from to
sftp.put('test.logs', '/Users/canvas/test_log.log')
t.close()

sftp.get('/Users/canvas/test_log.log', 'log2.log')
t.close() ```

免密传输

private_key_path = '/Users/canvas/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)

t = paramiko.Transport(('111.231.203.174', 22))
t.connect(username='root', pkey=key)

sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('test.logs', '/root/log.log')

t.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值