bash 스크립트에서 예라고 대답하십시오.


24

나는 git clonebash 스크립트를 통해하려고 하지만 스크립트를 처음 실행했을 때 서버를 알지 못했지만 스크립트는 실패합니다. 나는 이와 같은 것을 가지고있다 :

yes | git clone git@github.com:repo/repoo.git
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? 

그러나를 무시하고 yes있습니다. git clone알려진 호스트에 키를 강제 로 추가하는 방법을 알고 있습니까?


무엇에 대해 echo yes | git clone git@github.com:repo/repoo.git?
asfallows

3
@asfallows, @Rafael : echo yes좋은 접근 방식이 아닙니다. 두 번째로 명령을 실행할 때 ssh는 서버 키가 이미 알려져 있으므로 계속할 것인지 묻지 않습니다.
Gilles 'SO- 악한 중지'

답변:


21

~/.ssh/config파일에 다음을 추가 하십시오.

Host github.com
    StrictHostKeyChecking no

git 클라이언트와 함께 open-ssh 클라이언트를 사용하여 원격 쉘을 설정하면 github.com에 대한 키 검사를 건너 뛰어야합니다.

수표를 건너 뛰는 형태 (자동으로 예를 누르거나 처음부터 수표를 건너 뛰든)는 중간 보안 문제로 인해 사람을위한 공간이 만들어지기 때문에 이것은 실제로 나쁜 생각입니다. 더 좋은 방법은 known_hosts자동으로 연결되는 스크립트를 실행하기 전에 지문을 검색하고 확인하여 파일에 저장하는 것입니다 .


2
지문known_hosts검색하고 확인하여 파일에 저장하는 것이 좋습니다.
Gilles 'SO- 악한 중지'

1
귀하의 답변에 감사드립니다 .known_hosts에 지문을 추가하는 접근법을 따라갔습니다. 더 안전합니다 :)
Rafael

이 작업을 위해 꼭두각시를 사용하고 있습니다. 누군가 그것을 사용하는데 관심이 있다면 여기에 레시피가 있습니다 : gist.github.com/1155725
Rafael

5

yes출력 y. RSA 키 승인 요구 사항 yes. 당신은 시도 할 수 yes yes | git clone git@github.com:repo/repoo.git있도록 yes출력하는 yes대신 y.


5
어떤 이유로 든, 그것은 git clone에서 작동하지 않았습니다.
Matt V.

그것은 나를 위해 일하지 않았다. 또한 echo "yes" | ...그렇지 않습니다. git배관은받지 않는 것 같습니다 . 어쩌면 일부 버전에서만?
udondan

3

ssh-keyscan -H github.com >> ~/.ssh/known_hosts복제하기 전에 실행 하면 키가 추가되고 프롬프트가 표시되지 않습니다.

물론이 방법은 MITM 공격에도 취약합니다.


1

나는 전에이 문제에 부딪쳤다. 비록 Windows 시스템에 있었지만 ssh를 사용하여 원격 호스트에 연결해야했습니다. 우리는 첫 번째 연결이 키를 인식하지 못하기 때문에 항상 실패한 것과 동일한 문제를 겪었습니다.

수동으로 연결하고 레지스트리 키를 찾아 스크립트 시작 부분에서 가져 와서 해결했습니다. Linux에서는 동일한 일반적인 아이디어가 있어야합니다.이 서버를 신뢰할 수있는 호스트 목록에 추가하여 ssh가 매번 그를 신뢰하는지 묻지 않도록합니다.

수동으로 연결하면 키 파일을 찾아 known_hosts 파일에 추가하십시오. 이 방법으로 ssh는 해당 파일을 살펴보고, 지문에 대해 묻지 않고 진행중인 작업을 알고 진행한다고 가정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.