在现代运维和自动化任务中,通过程序远程控制服务器是一项常见需求。Python 提供了一个强大且易用的第三方库——Paramiko,它允许我们轻松地建立 SSH 连接、执行命令、传输文件等。本教程将从零开始,手把手教你如何使用 Paramiko 库,即使你是编程新手,也能快速上手!
Paramiko 是一个纯 Python 实现的 SSHv2 协议库,支持加密通信、身份验证、端口转发等功能。它常用于自动化脚本、远程服务器管理、CI/CD 流程等场景。使用 Paramiko,你可以用几行代码就完成原本需要手动输入 SSH 命令的操作。
首先,你需要确保已安装 Python(建议 3.6+)。然后使用 pip 安装 Paramiko:
pip install paramiko 下面是一个最简单的例子:使用用户名和密码登录远程 Linux 服务器,并执行一条命令。
import paramiko# 创建SSH客户端对象ssh = paramiko.SSHClient()# 自动添加远程主机的SSH密钥(不推荐用于生产环境)ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try: # 连接到远程服务器 ssh.connect( hostname='your_server_ip', port=22, username='your_username', password='your_password' ) # 执行命令 stdin, stdout, stderr = ssh.exec_command('ls -l') # 打印命令输出 print(stdout.read().decode())finally: # 关闭连接 ssh.close() 请将 your_server_ip、your_username 和 your_password 替换为你的实际服务器信息。这段代码展示了如何安全地连接、执行命令并关闭连接。
相比密码,使用 SSH 密钥对进行身份验证更加安全。假设你有一个私钥文件(如 id_rsa),可以这样连接:
import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())private_key = paramiko.RSAKey.from_private_key_file('/path/to/your/private/key')try: ssh.connect( hostname='your_server_ip', username='your_username', pkey=private_key ) stdin, stdout, stderr = ssh.exec_command('whoami') print(stdout.read().decode())finally: ssh.close() Paramiko 还支持 SFTP(SSH 文件传输协议),可用于上传或下载文件:
import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect('your_server_ip', username='your_username', password='your_password')# 开启SFTP会话sftp = ssh.open_sftp()# 上传本地文件到远程服务器sftp.put('local_file.txt', '/remote/path/file.txt')# 下载远程文件到本地sftp.get('/remote/path/file.txt', 'downloaded_file.txt')sftp.close()ssh.close() try...finally 或上下文管理器确保连接被正确关闭。AutoAddPolicy(),应手动验证主机密钥以防止中间人攻击。通过本教程,你已经掌握了使用 Paramiko SSH库 进行远程连接、命令执行和文件传输的基本方法。无论是日常运维还是自动化部署,Paramiko 都是一个非常实用的工具。希望这篇 paramiko教程 能帮助你开启 Python 自动化之旅!
如果你正在寻找高效、安全的 自动化SSH登录 方案,Paramiko 绝对值得你深入学习。赶快动手试试吧!
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125889.html