考点精讲
- SSH(安全外壳协议)基于TCP 22端口,通过加密通道实现安全的远程登录与命令执行,相比Telnet更安全。Paramiko是Python的SSH库,其组件架构包括SSHClient(建立SSH连接)、Transport(底层通道)、Channel(会话通道)、SFTPClient(文件传输)。SSH实践通常步骤:创建SSHClient→设置自动添加主机密钥→connect连接设备(主机/IP、端口、用户名、密码或密钥)→exec_command执行命令→读取标准输出→close关闭连接。实践中常用netmiko(封装Paramiko)简化多厂商设备操作,通过循环批量登录多台设备下发配置、采集show/display信息。HCIE重点考察SSH原理与Paramiko基本用法。
记忆技巧
常见误区
- 误以为SSH与Telnet只是端口不同,实际SSH加密、Telnet明文
- 混淆SSHClient与Transport:Client是高层封装、Transport是底层通道
- 误以为exec_command能交互式执行,实际是单次命令执行
- 误以为密钥认证一定比密码安全就忽略管理,实际密钥管理不当同样有风险
- 误以为Paramiko只能连接网络设备,实际可连任意SSH服务器
真题思路
- 【示例】 【示例】Python中用于建立SSH连接、执行远程命令的库是?
requests Paramiko pandas flask
答案:B
解析:Paramiko是Python的SSH协议实现库,用于建立SSH连接、执行远程命令和传输文件,故选B。
常见问题
Q:SSH相比Telnet的优势?
A:SSH全程加密传输,防窃听和中间人攻击,Telnet明文传输不安全。
Q:Paramiko如何执行命令?
A:用SSHClient建立连接后,exec_command执行命令,读取stdout获取结果,最后关闭连接。
Q:netmiko是什么?
A:基于Paramiko封装的网络设备自动化库,屏蔽多厂商命令差异,简化批量操作。
Q:批量操作设备如何实现?
A:维护设备清单,循环遍历每台设备建立SSH连接、下发命令、采集结果,注意异常处理。
相关知识
教材出处:第5部分 网络自动化 SSH原理与实践(Paramiko)