从bash和python访问〜/ .ssh / config别名

时间:2018-08-08 04:36:53

标签: bash ssh python ssh-config

我使用〜/ .ssh / config来管理需要频繁交互的主机。有时我想在不直接使用ssh的脚本中访问该文件的别名,即如果我的.ssh / config与

Host host1
  User user1
  Hostname server1.somewhere.net

我希望能够说出类似sshcfg['host1'].Hostname之类的内容,以便以脚本语言(特别是Python)和{{}}来获得server1.somewhere.net

如果可能的话,我希望使用标准工具/库来执行此操作。我也希望使用这些工具从环境中自动检测当前配置,而不必将其明确指向配置文件。我不知道是否有一种方法可以在ssh中具有备用配置,但是如果我想自动检测当前处于活动状态的方法。否则,只需默认为“〜/ .ssh / config”即可。

1 个答案:

答案 0 :(得分:1)

可以在命令行上指定备用配置文件,但是〜/ .ssh / config始终是默认设置。对于备用配置文件,请使用-F configfile选项。

您可以尝试解析原始配置文件,或者拥有一个更适合于操作的文件,并从中生成替代配置文件或默认配置文件的一部分。