Git

從命令行在 github 上上傳 ssh 密鑰

  • July 21, 2016

我找到了一種使用命令行將 SSH 密鑰上傳到我的 GitHub 帳戶的方法,但是有一個小問題。

我可以使用以下命令執行此操作:

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

https://api.github.com/user/keys

但是我在 Chef 中使用它來將節點的密鑰添加到我的 GitHub 帳戶中:

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

但它給出了錯誤。

可能是什麼原因?

cat必須使用命令替換來擴展命令結果

bash 的語法是:

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

您還可以使用經典的反引號表示法:

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

引用自:https://unix.stackexchange.com/questions/297301