carrega a chave ssh no github da linha de comando

1

Eu encontrei uma maneira de fazer upload de uma chave SSH para minha conta do GitHub com a linha de comando, mas há um pequeno problema.

Eu posso fazer isso com o seguinte comando:

curl -u "user:pass" --data '{"title":"test-key","key":"ssh-rsa Aaa"}'

link

Mas estou usando isso no Chef para adicionar as chaves dos meus nós à minha conta do GitHub:

curl -u "user:pass" --data '{"title":"test-key","key":"'cat ~/.ssh/id_rsa.pub'"}' https://api.github.com/user/keys

mas está dando erro.

Qual poderia ser o motivo?

    
por amit singh 21.07.2016 / 09:50

1 resposta

3

Os resultados do comando cat devem ser expandidos usando substituição de comando .

A sintaxe do bash é:

curl -u "user:pass" --data '{"title":"test-key","key":"'"$(cat ~/.ssh/id_rsa.pub)"'"}' https://api.github.com/user/keys

Você também pode usar uma notação clássica de backtick:

curl -u "user:pass" --data '{"title":"test-key","key":"''cat ~/.ssh/id_rsa.pub''"}' https://api.github.com/user/keys
    
por 21.07.2016 / 10:14

Tags