为了账号安全,请及时绑定邮箱和手机立即绑定

Python paramiko模块的安装与使用

标签:
Python

paramiko是Python语言编写的遵循SSH2协议,支持加密和认证方式,连接远程服务器执行命令或者上传下载文件。


一、安装paramiko

pip3 install paramiko

二、使用用户名密码方式远程执行命令

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 自动接受远程服务器host key
ssh.connect('127.0.0.1', 22, 'username', 'password')  # 远程主机IP、端口、用户名、密码
stdin, stdout, stderr = ssh.exec_command('df -h')  # 远程服务器要执行的命令
for line in stdout:
    print(line)
ssh.close()  # 关闭ssh连接

三、使用用户名密码方式上传或下载文件

import paramiko
t = paramiko.Transport('127.0.0.1', 22)
t.connect(username='username', password='password')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('local_file', 'remote_folder')
t.close()


import paramiko
t = paramiko.Transport('127.0.0.1', 22)
t.connect(username='username', password='password')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('remote_file', 'local_folder')
t.close()


四、使用ssh key方式远程执行命令(前提远程主机已经接受了你的公钥)

import paramiko
 
private_key_path = '/home/xxx/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)
 
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('127.0.0.1', 22, username='username', pkey=key)
stdin, stdout, stderr = ssh.exec_command('df')
print(stdout.read())
ssh.close()

五、使用scp方式远程执行命令

import paramiko
 
scp = paramiko.Transport(('127.0.0.1', 22))
scp.connect(username='username', password='password')
channel = scp.open_session()
channel.exec_command('touch hello/test.txt')
channel.close()
scp.close()

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消