Edit: я нашел это хороший ответ, так что это, вероятно, может быть отмечен дубликат: https://stackoverflow.com/a/31214819/123594Баш загрузки GitHub апи Баш ключ локон загрузки не работает
Я пытаюсь загрузить свежесгенерированным развертывания ключ GitHub через Баш/завитка
Вот что у меня есть: ($ 1 это имя мое репо, $ 2 является суффикс для моего имени ключа)
TOKEN=`cat /path/to/.github_token`
ssh-keygen -b 2048 -t rsa -f /path/to/key/id_rsa-www_$2 -q -N ""
KEY=`cat ~/projects/automatem/ansible/roles/accounts/templates/id_rsa-www_$2.pub`
echo $KEY
curl -u "myusername:$TOKEN" https://api.github.com/repos/jochendaum/$1/keys -d '{"name":"AUS1","key":"$KEY","read_only":true}'
Как выход я получаю:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3rVUbDbhhHCD2q00T29UJRbMqbDdXOq8qwUlY/gOtvzxCu20nQHvGXG4L2FLWffO8V5TQH+e5Ei0G2TDfbjgiYH/BBBEd+agkZf6VHfWmOTG93D55Sse6LoVJNgXu1RICM3zS0CPQ31b05UUIw6AFjesntIh8EoaeftSm99CCxgLT3bRkSWkfSAng6VD6EwT1od+RMXxqOMpyJv0BeJaOELjJM8AAIIbjrcPaprAG3OixtJoYdBnUyK14srdmUjKmnJMFcrlFRPphzTnpjXZAFVIK1j7+Mh9UnNIKE5nlBL5Y5YtUkyy7ixIM/dCfu9tAyxufKjGz23Ug111WTmzB [email protected]
{
"message": "Validation Failed",
"errors": [
{
"resource": "PublicKey",
"code": "custom",
"field": "key",
"message": "key is invalid. It must begin with 'ssh-ed25519', 'ssh-rsa', 'ssh-dss', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', or 'ecdsa-sha2-nistp521'. Check that you're copying the public half of the key"
}
],
"documentation_url": "https://developer.github.com/v3/repos/keys/#create"
}
Его, как будто что-то отрезают, когда ключ передается через завиток
Попробуйте 'echo '{" name ":" AUS1 "," key ":" $ KEY "," read_only ": true}' ', чтобы увидеть, что видит curl: буквальный' $ KEY'. –