Я использую NodeJS в Ubuntu для генерации id_rsa
файла для s sh. Мой код выглядит следующим образом, и закрытый ключ s sh хранится в переменной окружения с именем action.deployKey
.
import { isNullOrUndefined } from "./util";
import {promisify} from 'util';
import { appendFile } from 'fs';
const action = {
deployKey: `
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
`
}
const ssh = `${process.env.HOME}/.ssh`;
const createFile = promisify(appendFile)
await createFile(`${ssh}/id_rsa`, action.deployKey)
Файл, похоже, создается, но я сталкиваюсь со следующей ошибкой при попытке выполнить аутентифицированный запрос, использующий ключ.
Load key "/home/runner/.ssh/id_rsa": invalid format
Нужно ли для этого установить какую-то кодировку, чтобы сделать ключ действительным? Или возможно, что ключ неправильно записывается в файл?
Клиент s sh печатает следующее до того, как будет выполнен попытка запроса, поэтому у него, похоже, есть идея, что я добавил файл id_rsa
.
Warning: Permanently added the RSA host key for IP address x.x.x.x to the list of known hosts.
Я использую это в действии GitHub, поэтому мое единственное понимание - печать ключа, который я не хочу делать.
Буду признателен за любую помощь!