echo privatekey делает ключ недействительным - PullRequest
0 голосов
/ 04 ноября 2019

Мне нужно скопировать закрытый ключ ssh на компьютер Linux с другой виртуальной машины Linux поверх ssh. Я использовал эхо $privateKey >> ~/.ssh/id_rsa. Эхо не понимает разрывы строк и добавляет содержимое в одну строку, и ключ становится недействительным.

ssh-add ~/.ssh/id_rsa
Error loading key "/home/mobileapp/.ssh/id_rsa": invalid format

, если я использую vi для редактирования файла и нажимаю ввод после каждого переноса строки, тогда ключ становится действительным извезды работают. Как сделать эхо, чтобы правильно скопировать ключ в файл.

echo $privateKey >> ~/.ssh/id_rsa

1 Ответ

0 голосов
/ 05 ноября 2019

Как мне сделать эхо, чтобы правильно скопировать ключ в файле.

Измените ваш скрипт на:

echo $privateKey | fold -w 64 >> ~/.ssh/id_rsa

fold доступно наколичество платформ, таких как Apple BSD и Linux. Команда должна работать практически везде.

RFC 1421, «Повышение конфиденциальности для электронной почты Интернета», говорит, что использование ограничено 64 символами. Большая часть программного обеспечения может обрабатывать строки любой длины, но некоторые программы по-прежнему чувствительны к ограничению в 64 символа.

...