-1
我正在使用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的建议,但我仍然不确定如何实现这一点,或者推荐并且安全的方法。
这是怎么了我的应用程序现在已经实现。不过,我希望能够分别调用每个命令。 – mwalto7
也许在套接字上侦听并创建一个像“myapp send”这样的新命令,它将通过相同的套接字发送?这个问题看起来类似..登录和密码是敏感信息。https://stackoverflow.com/questions/12739539/using-cmd-module-with-a-socket – clutton
登录和密码是敏感信息。我建议你看一下'keyring'包:https://pypi.python.org/pypi/keyring,可以在OSX,Linux和Windows Credential Vault上运行。 – Arminius