欢迎访问宙启技术站
智能推送

使用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连接,并执行远程命令或传输文件。