如何将包含私钥ssh密钥的字符串写入文件?

时间:2019-06-10 13:32:28

标签: linux bash ubuntu

我正在将Azure DevOps用于管道。为了进行测试,我创建了一个变量$ key来存储私钥。我想使用该密钥通过SSH远程服务器。当我尝试将$ key写入文件然后使用它时

ssh user@10.10.10.10 -i keyfile

我被要求输入密码。我相信这与私钥文件的格式有关。它显示为长字符串,没有换行符。

格式化字符串并将其写入.pem文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果要使用私钥,则应将公钥添加到.ssh/authorized_keys

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub | ssh you@server 'cat >> ~/.ssh/authorized_keys'
$ ssh -i ~/.ssh/id_rsa you@server

请注意,您应该允许sshd通过公共密钥登录:

PubkeyAuthentication yes

如果无法更改服务器上的设置,则可能要使用expect。它的安全性较差。阅读this了解更多信息。