paramiko 模块可以进行远程连接服务器(比如通过windows操作linux),支持ssh协议。需单独安装
安装
pip install paramiko
使用
该模块支持的远程连接到服务器的方式有很多,这里仅使用最常见的ssh连接的方式。
示例代码
import paramiko
# 创建一个ssh的客户端,用来连接服务器
ssh = paramiko.SSHClient()
# 创建一个ssh的白名单
know_host = paramiko.AutoAddPolicy()
#加载创建的白名单
ssh.set_missing_host_key_policy(know_host)
# 连接服务器
ssh.connect(
hostname=ip,
port=22,
username=username,
password=password
)
# 执行基本命令,一般的原生命令均可以使用。为字符串
stdin,stdout,stderr = ssh.exec_command("ls")
time.sleep(5)
# stdin 标准格式的输入,是一个写权限的文件对象
# stdout 标准格式的输出,是一个读权限的文件对象
# stderr 标准格式的错误,是一个写权限的文件对象
print(stdout.read().decode())
#使用完之后需要进行通道的关闭
ssh.close()
连接方式的介绍
远程主机没有本地主机密钥或HostKeys对象时的连接方法,需要配置set_missing_host_key_policy(policy)。参数常见取值有3种,分别如下:
AutoAddPolicy:自动添加主机名及主机密钥到本地的known_hosts,不依赖load_system_host_key的配置。即新建立ssh连接时不需要再输入yes或no进行确认。最为常用。WarningPolicy用于记录一个未知的主机密钥的python警告。并接受,功能上和AutoAddPolicy类似,但是会提示是新连接。RejectPolicy自动拒绝未知的主机名和密钥,依赖load_system_host_key的配置。此为默认选项
原文链接:https://blog.youkuaiyun.com/zangba9624/article/details/118398648
Paramiko是一个Python实现的SSHv2协议库,可以实现加密和隧道功能。通过安装Paramiko库,可以使用SSH协议在Windows系统中连接Linux服务器。连接时,可以设置不同的策略如AutoAddPolicy自动添加主机密钥,或RejectPolicy拒绝未知主机。连接后,可以执行远程命令,例如执行ls来查看目录内容。连接完成后,别忘了关闭SSH通道。
488

被折叠的 条评论
为什么被折叠?



