Ubuntu echo privatekey使密钥无效

Ubuntu echo privatekey使密钥无效,ubuntu,ssh,echo,private-key,Ubuntu,Ssh,Echo,Private Key,我需要通过ssh将ssh私钥从不同的Linux VM复制到Linux机器。我使用了echo$privateKey>~/.ssh/id\u rsa。Echo不理解换行符并将内容添加到一行中,因此密钥无效 ssh-add ~/.ssh/id_rsa Error loading key "/home/mobileapp/.ssh/id_rsa": invalid format 如果我使用vi编辑文件,并在每一行中断后按enter键,则该键将生效并开始工作。如何使echo正确复制文件中的密钥 echo

我需要通过ssh将ssh私钥从不同的Linux VM复制到Linux机器。我使用了echo
$privateKey>~/.ssh/id\u rsa
。Echo不理解换行符并将内容添加到一行中,因此密钥无效

ssh-add ~/.ssh/id_rsa
Error loading key "/home/mobileapp/.ssh/id_rsa": invalid format
如果我使用vi编辑文件,并在每一行中断后按enter键,则该键将生效并开始工作。如何使echo正确复制文件中的密钥

echo $privateKey >> ~/.ssh/id_rsa
如何使echo正确复制文件中的密钥

echo $privateKey >> ~/.ssh/id_rsa
将脚本更改为:

echo $privateKey | fold -w 64 >> ~/.ssh/id_rsa
fold
可在许多平台上使用,如苹果BSD和Linux。这个命令应该在任何地方都可以使用


RFC1421,互联网电子邮件的隐私增强,说64个字符是使用的限制。大多数软件可以处理任何行长度,但一些软件仍然对64个字符的限制敏感。

是否实际定义了
$privateKey
?是的,我提到我可以在创建的文件上使用vi,并且我可以看到文件的内容。我想出了一个四处走动的办法。我在每个换行符中添加“\n”,然后使用“echo-e$privateKey>>~/.ssh/id\u rsa”就可以了。但我花了将近2-3分钟将所有换行符替换为“\n”。它更改了键内的文本,现在文本看起来不同了。我试图将密钥粘贴到这里,但它超出了字符限制。