如何使用环境变量结合Paramiko(Python)建立连接
用环境变量替代Paramiko硬编码连接参数的方法
步骤1:设置环境变量
根据操作系统,在终端或系统配置里添加对应的环境变量:
- Linux/macOS:终端执行临时生效命令,若要永久生效可写入
~/.bashrc/~/.zshrc等配置文件export SSH_HOST="你的主机地址" export SSH_USER="你的用户名" export SSH_PASS="你的密码" - Windows:
- 命令提示符临时生效:
set SSH_HOST=你的主机地址 set SSH_USER=你的用户名 set SSH_PASS=你的密码 - PowerShell临时生效:
$env:SSH_HOST = "你的主机地址" $env:SSH_USER = "你的用户名" $env:SSH_PASS = "你的密码"
- 命令提示符临时生效:
步骤2:在Python代码中读取环境变量并连接
用Python的os模块读取环境变量,替换硬编码参数:
import os import paramiko # 读取环境变量,可设置默认值避免变量缺失报错 hostname = os.environ.get("SSH_HOST", "默认主机地址") username = os.environ.get("SSH_USER", "默认用户名") password = os.environ.get("SSH_PASS", "") # 初始化客户端并建立连接 client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 首次连接自动信任主机密钥 try: client.connect(hostname=hostname, username=username, password=password) print("连接成功") # 这里可添加执行命令、传输文件等操作 finally: client.close()
额外提示
- 开发环境可配合
python-dotenv管理环境变量:- 安装包:
pip install python-dotenv - 创建
.env文件存储参数:SSH_HOST=你的主机地址 SSH_USER=你的用户名 SSH_PASS=你的密码 - 代码开头加载:
from dotenv import load_dotenv load_dotenv()
.env文件要加入.gitignore,防止敏感信息泄露。 - 安装包:
- 生产环境建议用系统级环境变量或专业密钥管理工具,不要明文存储密码。
内容的提问来源于stack exchange,提问作者Natalie
相关产品推荐
相关产品推荐

