我找到了一种使用命令行将 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
但它给出了错误。
可能是什么原因?
答案1
命令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