从命令行上传 ssh 密钥到 github 上

从命令行上传 ssh 密钥到 github 上

我找到了一种使用命令行将 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

相关内容