2012-05-28 4 views
0

마스터/슬레이브 구성에서 ec2 인스턴스에 대한 암호없는 액세스를 자동화해야합니다.ec2로 SSH 액세스 자동화

그래서 작동하지만 나는 걸레에 충돌했다고 생각합니다.

다음은 ec2 마스터가 ec2 슬레이브로 ssh 할 수있게하는 단계입니다. 나는 위의 생성 된 id_rsa.pub 파일을 추가 슬레이브에

cd /home/ubuntu/.ssh 
ssh-keygen -f id_rsa -t rsa -N '' 
eval `ssh-agent` 
ssh-add ~/.ssh/id_rsa 

: 나는 다음을 수행 마스터에

그래서
/home/ubuntu/.ssh/authorized_keys 

... 문제는 그 그 때를 그것은 다음과 같은 사항에 대해 묻는 머신에 SSH :

RSA key fingerprint is b4:50:7e:5c:5f:41:f5:cd:95:91:78:5b:8a:1f:97:df. 
Are you sure you want to continue connecting (yes/no)? 

내가 실행하려고 프로그램, TSUNG는 위스콘신 작동하지 않을 것 암호는 이제 필요하지 않더라도 프롬프트됩니다. 따라서 프로그램이 실패합니다. 노예에 들어가서 키를 추가하면 예/아니오가 더 이상 필요하지 않게됩니다. 그래서 .. 질문은, 내가 프롬프트를 제거하는 것을 자동화하는 방법은 무엇입니까? 예를 들어 자동 번역 스크립트를 작성할 수 있습니다. pexpect 그러나 그것은 길게 바람을 보낸다.

답변

1

ssh-keyscan (일반적으로 OpenSSH 배포판의 일부)을 사용하여 서버의 호스트 키를 가져오고 known_hosts 파일에 저장할 수 있습니다. 키가 해당 파일에 있으면 더 이상의 프롬프트가 표시되지 않습니다. 자세한 내용은 ssh-keyscan 맨 페이지를 참조하십시오.

물론 SSH에서 서버의 신원을 확인해야하는 이유가 있습니다. 이렇게하면 특정 보안 위험에 노출 될 수 있습니다. 인스턴스 작성 방법에 따라 (a) 매번 서버에서 동일한 호스트 키를 사용하고 (b) 클라이언트 이미지 (또는 사용자가 수행하는 작업)에이를 포함시키는 방법으로이를 수정할 수 있습니다.

0

예/아니오 질문은 처음 접속할 때만 묻어서 핸드 쉐이크 정보를 저장할 수 있습니다. 다시 묻지 않을 것이므로 한 번만 수동으로 연결하면 자동화가 향후 방문을 위해 작동합니다.

이것은 SSH의 기본 부분이며 특히 AWS가 아닙니다.