问题:
如何使用干净的方法在 Python 中执行 SCP 文件传输和有效的方法? os.system() 方法是一种 hack,不能跨平台工作或处理无密码 SSH。
Paramiko SCP 模块:
Paramiko 提供了一个优秀的 Python专门为 SCP 传输设计的模块:paramiko.scp.SCPClient。它为安全操作提供了用户友好的界面。
用法示例:
<code class="python">import paramiko from scp import SCPClient # Establish SSH Connection ssh = createSSHClient(server, port, user, password) # Initialize SCP Client scp = SCPClient(ssh.get_transport()) # SCP Operations scp.get('/etc/local/filename', '/etc/remote/filename') # Server to Local scp.put('/etc/local/filename', '/etc/remote/filename') # Local to Server</code>
密钥管理:
createSSHClient() 函数通过 load_system_host_keys() 和 set_missing_host_key_policy() 方法支持密钥管理。此外,SCPClient() 构造函数允许指定密钥文件路径或使用系统密钥:
<code class="python"># Use System Keys client = scp.Client(host=host, user=user, keyfile=keyfile) # Use Password client = scp.Client(host=host, user=user, password=password)</code>
优点:
这种方法为无缝SCP文件提供了强大且可定制的解决方案使用 Python 进行传输。
以上是如何使用 Paramiko 在 Python 中执行 SCP 文件传输?的详细内容。更多信息请关注PHP中文网其他相关文章!