我正在用python编写一个命令行应用程序,使用click
模块将SSH发送到Cisco网络设备,并使用netmiko
模块通过连接发送配置命令。我遇到的问题是到网络设备的SSH需要主机名/IP、用户名和密码。我正在尝试实现一种方法,让脚本的用户登录一次设备并保持SSH连接打开,这样就可以运行子命令而不必每次登录。例如
$ myapp ssh
hostname/IP: 10.10.110.10
username: user
password: ********
Connected to device 10.10.101.10
$ myapp command1
log output
$ myapp --option command2
log output
$ myapp disconnect
closing connection to 10.10.101.10
如何存储/处理凭据以允许在cli中使用此功能?在研究这个问题时,我看到了缓存或OAuth的建议,但我仍然不确定如何实现这一点,也不确定推荐的安全方法是什么。在
Tags:
模块to方法命令行命令iplog应用程序outputsshmyappciscoclick网络设备netmiko1条回答网友
1楼 ·
发布于 2023-03-06 23:03:36
也许你在尝试这样的事情。在
$ myapp ssh -u user -p password
(myapp) command1
(myapp) command2
(myapp) disconnect
$
Python有一个标准库模块cmd,可以帮助:
https://docs.python.org/3.5/library/cmd.html