使用Python中的ParamikoClient()创建SSH连接
发布时间:2023-12-24 08:06:10
在Python中,可以使用Paramiko库创建SSH连接,并且执行远程命令或传输文件。下面是一个使用Paramiko库创建SSH连接的示例。
首先,确保已经安装了Paramiko库。可以使用pip命令进行安装:
pip install paramiko
然后,导入Paramiko库并创建ParamikoClient实例:
import paramiko
# 创建SSH客户端
client = paramiko.SSHClient()
# 添加主机的SSH密钥到已知主机列表中
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接SSH服务器
client.connect('<hostname>', port=<port>, username='<username>', password='<password>')
在上面的代码中,需要将<hostname>替换为SSH服务器的主机名或IP地址,<port>替换为SSH服务器的端口号(默认为22),<username>和<password>分别替换为用于身份验证的用户名和密码。
一旦成功连接到SSH服务器,可以执行远程命令:
# 执行远程命令
stdin, stdout, stderr = client.exec_command('ls')
# 获取命令执行结果
output = stdout.read().decode()
# 输出命令执行结果
print(output)
上述代码将执行ls命令,然后获取命令执行结果并将其打印出来。
除了执行远程命令,还可以传输文件:
# 创建SFTP客户端
sftp = client.open_sftp()
# 上传本地文件到远程服务器
sftp.put('<local_file_path>', '<remote_file_path>')
# 下载远程文件到本地
sftp.get('<remote_file_path>', '<local_file_path>')
# 关闭SFTP客户端
sftp.close()
在上面的代码中,<local_file_path>替换为本地文件的路径,<remote_file_path>替换为远程服务器上的文件路径。put()方法用于将本地文件上传到远程服务器,get()方法用于将远程文件下载到本地。
最后,记得关闭SSH连接:
# 关闭SSH连接 client.close()
以上就是使用Paramiko库创建SSH连接的示例。通过Paramiko库,可以方便地在Python中进行SSH连接,并执行远程命令或传输文件。
