python连接linux服务器_Python (paramiko) 连接Linux服务器

本文介绍了使用Python的paramiko库连接并操作Linux服务器的方法,包括SSH连接、执行命令、文件上传和下载。通过示例代码展示了如何使用用户名和密码或私钥进行连接,并提供了封装好的SSH和SFTP工具类。

参考资料

Paramiko

7d9183337c1eb5fc262c25413affa2af.png

简单说就是一款SSH2的连接工具,Python写的,作为一个测试用来干嘛尼,为了实现个需求,连上数据库服务器,备份/恢复SQL用,(测试前的数据备份-测试后的数据恢复,达到一个互不污染的数据环境, 思路提供者QQ: 1301559180)

安装

pip install paramiko

连接Linux

import paramiko

# SSH连接对象

ssh_client = paramiko.SSHClient()

# 自动接受服务器发过来的密钥

ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 用户名 + 密码连接

ssh_client.connect(hostname="192.168.60.222", port=22, username="root", password="123456")

# # 用户名 + 私钥连接; 私钥 文件路径

# private = paramiko.RSAKey.from_private_key_file(r'C:\Users\zy7y\.ssh\id_rsa')

# ssh_client.connect(hostname="192.168.60.222", port=22, username="root", pkey=private)

# 执行命令,得到结果 , 返回多个数据 第一个标准输入-用于交互式命令, 第二个标准输出-保存命令的正常执行结果, 第三个标准错误输出

stdin, stdout, stderr = ssh_client.exec_command("pwd")

# 返回类型字节 type(stdout.read())

# 转成字符串

print(stdout.read().decode())

# 关闭连接

ssh_client.close()

文件上传/下载

import paramiko

# 进行SSH连接

ssh_client = paramiko.Transport(("192.168.60.222", 22))

ssh_client.connect(username="root", password="123456")

# # 配置私人密钥文件位置

# private = paramiko.RSAKey.from_private_key_file('/Users/root/.ssh/id_rsa')

# # 连接SSH服务端,使用pkey指定私钥

# ssh_client.connect(username="root", pkey=private)

# 创建ftp客户端

ftp_client = paramiko.SFTPClient.from_transport(ssh_client)

# 上传文件到服务器,将当前目录下的test.sql 上传到服务器上

ftp_client.put(localpath="test.sql", remotepath="/root/test3/hello.sql")

# 下载文件到本地

ftp_client.get(localpath="test1.sql", remotepath="/root/test3/hello.sql")

# 关闭ssh连接

ssh_client.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值