-1

我目前正在编写一个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 文件。

非常感谢

4

0 回答 0