我需要通过ssh将ssh私钥从其他Linux VM复制到Linux机器。我使用了回显$privateKey >> ~/.ssh/id_rsa
。 Echo无法理解换行符,无法将内容添加到一行中,因此密钥无效。
ssh-add ~/.ssh/id_rsa
Error loading key "/home/mobileapp/.ssh/id_rsa": invalid format
如果我使用vi编辑文件,并在每行换行后按Enter键,则密钥变为有效且星号正常工作。我该如何进行回显以将密钥正确复制到文件中。
echo $privateKey >> ~/.ssh/id_rsa
答案 0 :(得分:0)
如何进行回显以将密钥正确复制到文件中。
将脚本更改为:
echo $privateKey | fold -w 64 >> ~/.ssh/id_rsa
fold
在许多平台上都可用,例如Apple BSD和Linux。该命令应该在几乎所有地方都可以使用。
RFC 1421(Internet电子邮件的隐私增强)说,使用64个字符是限制。大多数软件可以处理任何行长,但是某些软件仍然对64个字符的限制敏感。