hadoop 설치 전 세팅으로 ssh 공유키 배포 실패



ssh 공유키를 생성하고 배포하는 방법이 몇가지 있다

하나는 ssh 키생성 후 자신의 id_rsa.pub을 authorized_keys로 복사하고 나서 scp 명령으로 배포하는 방법

또 다른 방법은 ssh-copy-id 명령으로 자신의 id_rsa.pub을 상대 서버의 authorized_keys로 바로 복사하는 방법


아, 맞다. 하둡 설치전 공유키 생성하고 배포하는 이유는 여기서 설명하지 않는다

다만 나 같은 맨땅에헤딩어들이 언젠간 구글링 끝에 찾게될 ssh 공유키 배포 실패로인한 나의 삽질을 기록하겠다


단도직입적으로 내가 삽질하게 된 이유는 첫째 방법이 예전에 먹힌적이 있었고 사실 그 방법밖에 몰랐기 때문이다


authorized_keys 파일에는 모든 서버의 공개키가 잘 복사되어있는데 ssh 접속시 계속 password를 물어봤다.

디렉터리랑 파일의 권한을 파격적으로 777로도 바꿔보고 이것 저것 다 해봐도 안되서 나와 비슷한 삽질의 흔적을 찾기 위해 구글링 했는데


/etc/ssh/sshd_config 파일에 아래의 항목에 주석도 풀어 주면 된다더라

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile     .ssh/authorized_keys


근데 풀어봐도 안됬다...



여튼 해결 못하고 멘토님께 도움을 청했는데 멘토님도 검색을 하셨다..

구글 말고 네이버에서 검색하셨는데 듣도보도 못한 ssh-copy-id 명령어가 나왔고

결과적으로 두번째 방법인 ssh-copy-id로 해결했다



이제부터 두번째 방법을 이용한 ssh 공개키 방법을 설명한다

참고로 ssh-copy-id 명령어 사용법은 다른 블로그가 더 자세히 설명 되어 있을 수 있다.




1. 아래의 명령을 각 서버에서 실행하여 공개키를 생성한다

ssh-keygen -t rsa


명령을 실행하면 홈 디렉터리에 아래의 두 파일이 포함된 .ssh 디렉터리가 생성된다 

id_rsa

id_rsa.pub



2. 서버가 s1, s2, s3 총 3대로 구성되어있으면 각 서버에다(자신의 서버 미포함) 아래의 명령으로 공유키를 복사해준다


ssh-copy-id user@s1

ssh-copy-id user@s2

ssh-copy-id user@s3


명령이 실행되면 명령이 실행되는 서버의 id_rsa.pub이 상대 서버의 .ssh 디렉터리에 authorized_keys 파일로 복사 생성된다

즉 s1에서 ssh-copy-id user@s2 하면 s2서버의 user 홈디렉터리 .ssh 디렉터리내부에 authorized_keys가 복사 생성되며 이미 생성되어진 파일이있으면 복사된 내용이 덧 붙여진다



3. more .ssh/authorized_keys 명령을 통해 복사된 공유키 내용에 계정@호스트명을 확인한다


<s1의 authorized_keys 내용 확인>

LsfadfHGLSlkjesfaEHJKKEfAdsfaHAHASDFdfaahgaGDr7owEAXJe1S3wdEdwB3Eb6SPMDiLzgLgLmX+jJFupYJe1S3wdE/dw

(생략)

HmgidOq5G2crYGQw6b9sHhCUxSqr/onNi90DSA3LxPmbjtiaZ9wchdPMDiLzgLgLmX+jJFupY2AVA3sAHASDFdfaahgaGDr7oLVllk6f576gMdpuE2ekljK1PumqnUI0GQ== user@s2


LsfadfHGLSlkjesfaEHJKKEfAdsfaHAHASDFdfaahgaGDr7owEAXJe1S3wdEdwB3Eb6SPMDiLzgLgLmX+jJFupYJe1S3wdE/dw

(생략)

HmgidOq5G2crYGQw6b9sHhCUxSqr/onNi90DSA3LxPmbjtiaZ9wchdPMDiLzgLgLmX+jJFupY2AVA3sAHASDFdfaahgaGDr7oLVl

k6f576gMdpuE2ekljK1PumqnUI0GQ== user@s3


4. ssh 명령실행시 password를 묻지않으면 ssh 공유키 배포가 정상적으로 완료된 것이다
ssh user@s2  
ssh user@s3




Posted by null.
,