systemd 서비스에서 git 자격 증명을 사용하는 방법

systemd 서비스에서 git 자격 증명을 사용하는 방법

git config --global credential.helper store저는 프로젝트의 원격 저장소로 Github를 사용하고 있으며, 시간을 절약하기 위해 비밀번호를 파일에 저장하는 명령을 실행했습니다 ~/.git-credentials.

이렇게 하면 git pull비밀번호를 입력하지 않고도 실행할 수 있습니다.

이제 다음 명령을 포함하는 bash 스크립트를 git-clone.service실행하는 아래와 같은 서비스 파일을 생성하려고 합니다 .pull_basic_lib.shcd ~/project && git pull

[Install]
WantedBy=default.target

[Unit]
Description=git clone basic libraries

[Service]
Type=oneshot
ExecStart=/home/me/bin/pull_basic_lib.sh

그러나 실행하면 systemctl start git-clone.service오류가 발생합니다.

could not read Password for 'http://[email protected]': No such device or address

~/.git-credentials흠, 파일을 서비스로 가져올 수 없는 것 같습니다 .

이 문제를 해결할 방법이 있나요?

답변1

키 쌍 사용을 고려해보세요. 이는 자동으로 사용자를 인증할 뿐만 아니라 비밀번호를 로컬에 저장하는 것보다 더 안전합니다. github 가이드를 참고해주세요여기키를 연결하는 방법에 대해.

그럼 당신은 필요SSH 구성 설정local에 연결할 때 키를 사용할 수 있도록 합니다 github.com. 또한 저장소 URL에 해당하는 SSH를 사용하고 싶을 수도 있습니다. 다음을 실행하여 확인할 수 있습니다.git config -l.

관련 정보