2015-01-21 5 views
0

의사 배포 된 가상 설치를 설치하려고합니다. 그 안에, 비밀 번호 인증을 위해 ssh를 설치합니다. 나는 도커 파일 내부에서 실행하고 있습니다.어떻게이 비 대화식으로 만들 수 있습니까?

RUN /usr/bin/sudo apt-get install -y openssh-server openssh-client 
    WORKDIR /home/hadoop_admin 
    RUN mkdir /home/hadoop_admin/.ssh 
    RUN chmod 700 /home/hadoop_admin/.ssh 
    RUN ssh-keygen -t rsa -P "" -f ~/.ssh/id_dsa 
    RUN cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 

내가 ssh 서비스를 시작하면 아래처럼 예/아니오를 묻습니다. 나는 그것을 항상 예쁘게 만들고 싶다.

The authenticity of host 'localhost (::1)' can't be established. 
    ECDSA key fingerprint is [long hexa key value] 
    Are you sure you want to continue connecting (yes/no)? yes 

의견이 있으십니까?

+0

http://superuser.com/questions/125324/how-can-i-avoid-sshs-host-verification-for-known-hosts – Kenster

답변

0

이 게시물에는 몇 가지 고려 사항이 있습니다.

1) 실행중인 명령이 정확히 무엇입니까?이 오류는 ssh 서버에 액세스하려고 시도하는 ssh 클라이언트임을 상기시키기 때문에 발생합니다. 그렇다면이 매개 변수를 ssh 클라이언트에 추가하여 오류를 피할 수 있지만 보안 고려 사항이 있습니다.

echo 'Host * StrictHostKeyChecking no' >> ~/.ssh/config 

2) 당신은 서버에 연결하려고하는 ssh 클라이언트를 들어 당신이 이미 SSH 서버가

3 http://phusion.github.io/baseimage-docker/를 구성 많은 다른 것들 사이에있는 고정 표시기의 기본 이미지를,,)를 사용할 수 있습니다 당신이 고정 표시기 용기를 사용하는 경우 SSH

ssh-keyscan -t rsa,dsa localhost >> $HOME/.ssh/known_hosts 

4)를 통해 연결하기 전에 known_host 자동으로 채울 수, 당신은 컨테이너에 SSH를 필요가 없습니다. SSH에서 컨테이너를 관리해야하는 경우 nsenter 또는 다른 대안을 사용하는 것이 좋습니다.

관련 문제