python网络自动化系列1_SSH

目标就是使用python能够SSH登陆设备

拓扑图

在这里插入图片描述

Cloud1配置:我的虚拟网卡ip是5.5.5.5

在这里插入图片描述

交换机配置:
1.给vlan 1添加ip,已保证电脑与交换机的连通性
interface Vlanif1
 ip address 5.5.5.10 255.255.255.0

确保给vlan 1 添加上ip后,打开电脑的cmd能够ping通5.5.5.10

2、开启stelnet服务,配置VTY用户界面 以AAA授权验证方式,优先级为15,指定只支持SSH协议
stelnet server enable
user-interface vty 0 4
 authentication-mode aaa
 user privilege level 15
 protocol inbound ssh
3.创建本地用户python,密码为python@123,服务方式为SSH
aaa
 local-user python password cipher python@123
 local-user python service-type ssh
4.创建SSH用户,配置认证方式为密码认证.服务类型为stelnet,做完这一步,可以用Xshell、CRT、Moba等远程工具试试,看能不能连接上
ssh user python
ssh user python authentication-type password
ssh user python service-type stelnet

到这里交换机就基本就配置完成了
然后开始看python代码

python部分
import paramiko  #所需模块
import time

ssh=paramiko.SSHClient() #实例化SSH
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接未知主机
ssh.connect(hostname='5.5.5.6',port=22,username='python',password='python@123',allow_agent=False,look_for_keys=False) #建立会话连接
cli=ssh.invoke_shell()#打开交互会话
##打开交互会话后可以相当于进入了cli界面了
# cli.send('命令')  #就可以给交换机发送命令了
cli.send('screen-length 0 temporary\n')#取消分屏命令,默认是24行
cli.send('dis curr\n')#查看配置的命令
time.sleep(5)#暂停5秒
dis_cur=cli.recv(99999).decode()#实例化接收的数据,str类型
print(dis_cur)#可以将整个过程输出到控制台
ssh.close()#关闭ssh连接

控制台输出:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值