• 周二. 9 月 17th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

存储命令行应用程序的登录凭据

King Wang

3 月 7, 2023

我正在用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

发表回复