이 컨셉으로 머리를 감싸려고 노력 중이에요SSH 에이전트 전달.
지금까지 내가 한 일은 다음과 같습니다.
- 로컬 기본 ID(ssh-keygen) 생성
- bitbucket에 공개 키 설치
이제 ssh와 같은 서버에 연결하고 싶습니다 [email protected]
.
그런 다음 보통 서버에 키를 만듭니다.SSH 키 생성기공개 키를 다시 복사하여 내 bitbucket SSH 키에 추가했습니다. 그런 다음 SSH 저장소를 복제하고 bitbucket 저장소로 풀/푸시할 수 있습니다. 그러나 그것은 그렇게 하는 방법이 아닙니다.
서버에서 키를 생성할 필요가 없다는 것을 어떻게 확인할 수 있나요? 나는 다음과 같은 많은 튜토리얼을 읽었습니다.이것하지만 여전히 SSH 에이전트 전달에 어려움을 겪고 있습니다.
고쳐 쓰다:
나는 노력했다이것튜토리얼인데 1단계에서 막혔어요. 구성 파일(~/.ssh/config에 있음)에 다음 텍스트를 추가해야 한다고 합니다.
Host example.com
ForwardAgent yes
첫 번째 단계 이전에 내 구성 파일은 다음과 같았습니다.
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
이 단계 후에는 다음과 같습니다.
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
Host mysite.be
ForwardAgent yes
작동하는지 시험해 보려면 서버에서 다음 명령을 실행해야 합니다.
ssh -T [email protected]
Permission denied (publickey).
이것을 시도했지만 내 서버에 오류가 발생했습니다.
답변1
실제로 에이전트에 키를 추가하지 않은 것 같습니다.
로컬 워크스테이션이 Linux인 경우 세션의 일부로 실행 중인 에이전트가 있을 수 있습니다. 다음 명령을 사용하여 해당 내용을 확인할 수 있습니다.ssh-add -l
키가 아직 에이전트에 추가되지 않은 경우 다음 명령을 사용하여 키를 추가할 수도 있습니다.ssh-add
이후 mysite.be를 방문하면 ssh
실행 시 나열된 키 지문을 볼 수 있습니다.ssh-add -l
답변2
다음과 같이 [User]가 누락되었을 수 있다고 생각하세요...
mysite.be 호스팅 여기에 사용자 이름을 사용하세요 순방향 프록시는
그런 다음 콘솔에서 실행하십시오 ...
$ SSH mysite.be
이렇게 하면 원격 서버 mysite.be가 Bitbucket에 의해 요청될 때 로컬 컴퓨터의 SSH 클라이언트가 원격 사용자 [your_user_name_here]의 자격 증명을 원격 서버 mysite.be로 전달합니다. ssh-agent도 자동으로 원격으로 시작됩니다.