【问题标题】:Automate SSH connection over proxy server通过代理服务器自动建立 SSH 连接
【发布时间】:2015-04-02 22:17:05
【问题描述】:

我正在尝试编写一个非常简单的 bash 脚本,因此我可以先 ssh 到代理服务器,然后从代理服务器 ssh 到目标服务器。这就是网络被设置为可以访问的方式。我有:

#! /bin/bash
ssh  proxyservername
ssh  destservername

这不起作用。我连接proxyserver时,第二行ssh没有执行,还是需要手动输入命令。是否可以将一些命令添加到脚本中,以便自动连接到目标服务器? (我可以提示输入密码。)

【问题讨论】:

    标签: linux bash ssh


    【解决方案1】:

    我认为在类似情况下最常见的解决方案是使用ssh-R 标志(检查man ssh)。您可能还想了解-f-o ExitOnForwardFailure=yes

    我使用的模式是这样的:

    ssh -f -o ExitOnForwardFailure=yes -R localhost:2222:$TARGETNAME:22 $PROXYNAME sleep 1 &&
    ssh -p 2222 localhost
    

    (其中2222 基本上是您可以在本地机器上使用的任何端口)。

    -R 标志告诉ssh 连接到$PROXYNAME,从那里建立一个隧道到$TARGETNAME 的端口22,并将其另一端连接到本地计算机上的端口2222。其他选项告诉ssh 在不再使用时转到后台并关闭此连接。然后你只需启动另一个ssh 实例,它连接到localhost 上的端口2222

    【讨论】:

      【解决方案2】:

      我认为您需要类似于 ssh proxyservername 'ssh destservername' 的东西,假设 proxyservername 已安装 ssh 访问 destservername。

      【讨论】:

        猜你喜欢
        • 2020-10-12
        • 1970-01-01
        • 1970-01-01
        • 2017-06-24
        • 2012-09-06
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2014-03-21
        相关资源
        最近更新 更多