Git
從命令行在 github 上上傳 ssh 密鑰
我找到了一種使用命令行將 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