当RSA密钥有密码时,如何从BASH运行SSH命令?

时间:2018-05-26 12:48:37

标签: bash ssh passwords travis-ci ssh-keys

方案

我们有 RSA密钥 password 我们尝试使用<登记/> 通过 SSH脚本在远程服务器上运行BASH个命令。
我们试图将RSA密钥password传输到SSH命令中 使用 sshpas 计划。 e.g:ssh-test.sh

#!/bin/bash
# sshpass -e uses the SSHPASS Environment Variable:
sshpass -e ssh -i ./deploy_key root@$132.62.16.142 pwd

注意:目前这个&#34;示例命令&#34;只是试图在服务器上打印工作目录以进行&#34;测试&#34;,但想法是它将通过SSH运行其他更多有用的命令。

当我们执行(上面)BASH脚本时,它不会抛出任何错误, 它只是&#34;挂起&#34;没有输出。 例如: https://travis-ci.org/nelsonic/hello-world-node-http-server/builds/384010921#L521 image

问题

什么是&#34;秘密&#34;在password脚本中使用 RSA密钥 <{> 1 {}> <{1}} <{1}} (我做错了什么......?

附加上下文

我们的 Quest 是使用Travis-CI(在线持续​​集成服务) 将部署我们的应用程序部署到Centos(或FreeBSD)服务器。 SSH密钥由一个脚本生成,该脚本分配一个随机的&#34; strong&#34;密码。我们意识到 可能"strip" the RSA Key password但是这对我们来说不是一个选项。

RSA密钥SSH requests 已加密使用BASH CLI )并存储在password文件中 Travis可以解密并作为安全环境变量travis在剧本中使用)提供。

  

问题是来自其他SO问题的 distinct ,因为我们使用SSH(RSA)密钥 a {{1}而其他人正在使用Key 而没有密码。   我们希望使用SSH(RSA)密钥密码(存储为加密环境变量 .travis.yml)以确保安全/合规原因。
  我们看了看:

0 个答案:

没有答案