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

时间:2017-08-14 21:06:17

标签: python shell ssh login terminal

我正在使用click模块在​​python中编写命令行应用程序,该模块将通过SSH连接到思科网络设备,并使用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的建议,但我仍然不确定如何实现这个或者推荐的安全方法是什么。

1 个答案:

答案 0 :(得分:0)

也许你正在尝试这样的事情。

$ myapp ssh -u user -p password
(myapp) command1
(myapp) command2
(myapp) disconnect
$

Python有一个可能有用的标准库模块cmd:

https://docs.python.org/3.5/library/cmd.html