【问题标题】:SSH Tunnel AccessSSH 隧道访问
【发布时间】:2021-07-18 10:18:34
【问题描述】:

美好的一天

我为 ISP 工作,我们基本上通过 Jumpbox 的 CLI 管理所有交换机和路由器。

我想通过编写 Python 脚本等来自动化我在这些设备上的一些工作。

但是,这个 Jumpbox (Linux) 相当旧,Python 版本也很旧。我无法添加 Ansible、Netmiko 等。另外,我不是该框的管理员,因此无法升级它。

我的问题是,如果我使用所有必需的工具设置自己的 Linux 虚拟机,我将如何从本地 Linux 虚拟机访问这些路由器和交换机?

我尝试设置到 Jumpbox 的本地/远程/动态 SSH 隧道,但我总是以 Jumpbox SSH 会话本身结束。

【问题讨论】:

  • 即使是旧的 Python 也可能非常有用 - 您不需要新的函数或模块即可使用 subprocess.run() 来执行某些程序并使其自动化。
  • 我从来没有尝试过隧道,但根据你的描述,我认为没有人能帮助你——没有足够的信息——所以我们只能说:加倍努力。
  • 好的,在这种情况下,我如何在此 Jumpbox 的主目录中安装 Python 3 和所有必需的工具,因为我不是管理员。它应该仅供我使用,不应影响整个系统。我不想使用系统上的 Python 2。
  • JuNest 之类的东西有帮助吗?
  • 你为什么想要 Python 3?你想要什么工具? Python 2 出了什么问题?通常你可以在没有管理员权限的情况下在自己的文件夹中安装python - 如果有为你的 CPU 和系统预编译的版本 - 稍后你可以使用 pip --user 在自己的文件夹中安装模块。

标签: python ssh automation tunneling


【解决方案1】:

您可以将 jumpbox 用作堡垒主机。将您的公钥复制到两台主机(跳转盒和设备)并在您的清单文件中使用ansible_ssh_common_args 选项进行设置,如下所示:

[switches]
switch-01 ansible_host=192.168.0.1 ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q user@ip-bastion"'

注意:您必须运行 Ansible 版本 2。

最好的问候。

【讨论】:

    猜你喜欢
    • 2014-12-15
    • 2010-11-17
    • 2011-10-18
    • 2020-01-28
    • 2011-09-11
    • 2013-08-14
    • 2013-06-02
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多