我目前正在编写一个python脚本来管理我们所有的网络设备,这些设备当前使用一个别名访问,然后指向一个python脚本,然后通过CVS搜索IP、跃点等......
alias con'python ~/cvs_file_path_to/connect.py connect'
此别名本地存储在我的 .bashrc 文件中。
我有一个久经考验的 python (pyez) 脚本,它使用 netconf over ssh 连接到设备,但是我目前必须使用 IP 或将主机名添加到我的 .ssh/config/
#This is a list of devices, note this will look in my .ssh/config file for an alias for any device in this list
device_list = ['dev1', 'dev2', 'dev3', 'dev4']
#This is a variable used to group multiple devices using the pyez params
devices = [Device(host) for host in device_list]
#This is a forloop to iterate over all devices in the device_list
for device in devices:
device.open()
我的 .ssh 配置文件如下所示:
Match host dev1
Hostname 10.10.10.1
ProxyCommand ssh -tA 1.1.1.1 -W%h:%p
Match host dev2
Hostname 10.10.10.2
ProxyCommand ssh -tA 1.1.2.2 -W%h:%p
Match host dev3
Hostname 10.10.10.3
ProxyCommand ssh -tA 1.1.3.3 -W%h:%p
Match host dev4
Hostname 10.10.10.4
ProxyCommand ssh -tA 1.1.4.4 -W%h:%p
我的问题是,是否可以让我的 python 脚本执行我的别名以连接到 device_list 中的设备而忽略我的 ~/.ssh/config 文件。
非常感谢