명령줄을 사용하여 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