SSH를 통한 GIT PUSH가 작동하려면 재부팅할 때마다 SSH 인증서를 다시 가져오세요.

SSH를 통한 GIT PUSH가 작동하려면 재부팅할 때마다 SSH 인증서를 다시 가져오세요.

저는 Macbook Air에서 OSX 10.8을 사용하고 있으며 SSH를 통해 저장소를 EC2 인스턴스로 푸시하도록 git을 구성했습니다. 모든 것이 잘 작동합니다.

유일한 문제는 재부팅할 때마다 ssh-add certname.pemGIT가 SSH를 통해 ec2 인스턴스에 연결할 수 있도록 허용해야 한다는 것입니다.

이것이 단지 간과된 구성 문제인지, 아니면 이에 대한 더 깊은 이유가 있는지는 확실하지 않습니다.

답변1

사용할 수 없나요?

ssh-add -K [keyfile]

키체인에 정보를 추가하려면? 그러면 다음에 해당 키체인에 인증된 상태에서 터미널을 시작할 때 해당 키가 표시됩니다.

답변2

비밀번호 없이 키를 설정하고git/ssh에서 해당 키를 SSH로 사용하도록 합니다.IdentityFile?
( ssh-keygen단지 누르기만 하면 되는 키를 생성할 때 암호 문구를 묻는 메시지가 표시 되지만 enter결과 키에는 암호 문구가 필요하지 않습니다.)

이 키를 자동으로 다시 추가하려고 하기 때문에 키를 사용하면 제공되는 모든 보안을 우회하게 되므로 비밀번호 없는 키와 에이전트가 자동으로 가져오는 키 사이에는 실질적인 차이가 없습니다.


분명히 당신은 이 키가 서버에 액세스하는 것 외에는 아무것도 할 수 있기를 원하지 않을 것입니다. git(누군가가 키의 비공개 부분을 손에 넣는 경우에 대비하여 다른 사람이 당신처럼 명령을 실행하는 것을 원하지 않습니다!)

답변3

필요한 것은 OSX의 키체인에 pem을 추가하기 위한 스크립트를 설정하고 ~/.bash_profile(또는 zsh를 사용하는 경우 ~/.zshrc)에 아래 줄을 추가하는 것입니다.

ssh-add -K certname.pem

이것을 확인해보세요https://superuser.com/a/409316/41202상세 사항은

답변4

흠. 이는 EC2의 SSH 디자인과의 불행한 상호 작용입니다. 인스턴스에 연결하려면 pem 파일을 사용하는 것이 좋습니다. 따라서 ssh -i <aws.pem>모든 연결 예제에서 설명하는 이유는 다음과 같습니다.

Git 별칭은 어떻습니까? 푸시할 EC2 인스턴스가 없기 때문에 이것을 테스트하지는 않았지만 다음과 같습니다.

git config alias.ec2push "!sh -c 'ssh-add certname.pem && git push $1 $2'"

그런 다음 다음을 사용하여 푸시합니다.

git ec2push <repo> <branch>

관련 정보