具有三台主机的ssh密码实施挑战

时间:2018-08-30 14:43:55

标签: ssh

我需要为三个主机(三个不同的VM)之间的远程端口查找解决方案实现SSH Passkey机制。让我解释一下:

部署:

  • 主机1是我们的具有SSH客户端和Web服务器的客户端
  • 主机2拥有我们的应用程序服务器,可以管理多个客户端。
  • 主机3具有SSH服务器(OpenSSH)。

要求: 从主机2上的应用程序服务器远程访问(启动)主机1上的Web服务器中托管的应用程序。要实现此目的:

  1. 必须在主机1和主机3之间“以编程方式”建立SSH隧道和远程端口转发。
  2. 主机2上的应用服务器将执行URL重定向到主机3上的ssh服务器。

我们尝试手动执行此操作,并且可以正常运行。但是,要运行ssh remote port fwding命令建立ssh隧道,我们需要从主机1上的SSH客户端指定密码。但是由于我们需要以编程方式实现此目的,因此我们需要提供ssh passkey机制,其中密钥是在主机1,然后将公钥添加到主机3上的SSH服务器(使用ssh-copy-id),私钥保留在主机1上的客户端中。

但是,即使在服务器(主机3)上运行ssh-copy-id或复制ssh密钥,我们也需要手动提供密码。

查询:

  1. 如何避免这种情况,使其以编程方式工作而无需任何人工干预?
  2. 我们可以将密码作为ssh隧道命令的命令行参数提供吗?我检查了“ sshpass”工具,但不确定是否正确。
  3. 作为未来的要求,是否有可能在主机2上生成公钥和私钥,然后以某种方式将私钥发送到主机1并将公钥发送给主机3(整个密钥文件或字符串) ?在这种情况下,主机1和主机3之间是否可以进行身份​​验证?

0 个答案:

没有答案