Я пытаюсь сохранить (добавить) открытый ключ в файл (~/.ssh/authorized_keys) для закрытого ключа (private-key.pem), который на самом деле хранится в s3, все с использованием сценария bash.
Получение открытого ключа с помощью файла:
ssh-keygen -y -f /path/to/private-key.pem
Выход:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
Затем вручную добавьте содержимое в файл назначения, это нормально, но я хочу сделать это с помощью команды, извлекая файл, хранящийся в s3 (общедоступный URL-адрес), и добавляя вывод содержимого в файл (~/.ssh/authorized_keys ).
Я пробовал это:
ssh-keygen -y -f /dev/stdin <<< `curl https://bucket.s3.amazonaws.com/private-key.pem` >> ~/.ssh/authorized_keys
Выход:
Load key "/dev/stdin": invalid format
И это:
curl https://bucket.s3.amazonaws.com/private-key.pem | ssh-keygen -y -f /dev/stdin >> ~/.ssh/authorized_keys
Выход:
Permissions 0660 for '/dev/stdin' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/dev/stdin": bad permissions