Paramiko是一个Python库,用于实现SSH(Secure Shell)连接。通过Paramiko,运维人员可以在Python脚本中使用SSH协议,连接到远程服务器并执行命令、上传/下载文件等操作。下面是一个简单的例子,展示如何使用Paramiko连接到远程服务器并执行命令:
import paramiko
# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
ssh.connect(hostname='your_server_ip', port=22, username='your_username', password='your_password')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls')
output = stdout.read().decode()
print(output)
# 关闭连接
ssh.close()
在上面的代码中,我们首先创建了一个SSH客户端对象,并设置了自动添加主机密钥的策略。然后,我们使用connect()
方法连接到远程服务器,需要提供服务器的IP地址、SSH端口、用户名和密码。接下来,我们使用exec_command()
方法执行了一个ls
命令,并打印了命令的输出。最后,我们使用close()
方法关闭了SSH连接。
除了执行命令外,Paramiko还支持上传和下载文件、创建SFTP连接等操作。下面是一个例子,展示如何使用Paramiko上传文件到远程服务器:
import paramiko
# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程服务器
ssh.connect(hostname='your_server_ip', port=22, username='your_username', password='your_password')
# 上传文件
sftp = ssh.open_sftp()
local_path = '/path/to/local/file'
remote_path = '/path/to/remote/file'
sftp.put(local_path, remote_path)
sftp.close()
# 关闭连接
ssh.close()
在上面的代码中,我们首先创建了一个SSH客户端对象,并连接到了远程服务器。然后,我们使用open_sftp()
方法创建了一个SFTP对象,并使用put()
方法将本地文件上传到远程服务器。最后,我们关闭了SFTP连接和SSH连接。