コマンドラインから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

関連情報