오픈스택 멀티노드 컨트롤러 설치 준비(암호없이 SSH 접속하도록 설정)


오픈스택 멀티노드 게시글에 정리했듯이 컨트롤러 노드가 컴퓨트 노드에 암호없이 명령어를 수행할 수 있도록(SSH 자동 로그인) 설정을 해보자





1. 컨트롤러 노드에서 stack 사용자로 로그인한다




2. 컨트롤러 노드에서 컴퓨트1 노드로 SSH 접속 시 암호를 입력해야 하는 것을 확인할 수 있다

컨트롤러 노드가 컴퓨트 노드에서 수행할 명령어를 전송하려면 매번 암호를 입력해줘야 하는 상황이다

설정을 통해 암호업이 접근할 수 있도록 해보자




3. 컨트롤러 노드에서 다음 명령어를 이용해서 사용자 키를 생성한다

id_rsa. 파일 : 사용자 개인키

id_rsa.pub. 파일 : 사용자 공개키

키 생성 옵션 설정은 모두 기본 설정값으로 생성해준다

id_rsa. 파일과 id_rsa.pub. 파일이 생성된 것을 확인할 수 있다

개인키와 공개키는 비대칭키 암호화 방식으로 자세한 내용은 추후에 따로 정리할 예정이다




4. 다음 명령어로 사용자 키가 있는 디렉토리, 사용자 개인키, 사용자 공개키를 각각 권한을 알맞게 설정해준다

chmod 700 [사용자 키가 있는 디렉토리 경로]

chmod 600 [개인키 경로]

chmod 644 [공개키 경로]


명령어는 리눅스의 권한에 대한 명령어로 자세한 내용은 다음 게시글에 정리되어 있다

https://bettersoonergooner.tistory.com/10


각 권한은 비대칭키 암호화 방식이 제대로 수행되기 위한 권한으로 설정해주자

사용자 키 위치에 대한 권한 : 본인 사용자만 모든 권한

사용자 개인키에 대한 권한 : 본인 사용자만 모든 권한

사용자 공개키에 대한 권한 : 본인 사용자는 모든 권한, 나머지는 읽기 전용




5. 컴퓨트1 노드에서도 stack 사용자로 로그인한다




6. 컨트롤러 노드로 돌아와서 다음 명령어를 통해 컨트롤러의 공개키를 컴퓨트1 노드에 복사시켜준다

scp [복사할 파일 경로] [대상 시스템 IP 주소]:[저장할 파일 이름]




7. 컴퓨트1 노드에서 stack 사용자의 홈 디렉토리를 보면 파일이 제대로 복사된 것을 확인할 수 있다




8. 컴퓨트1 노드의 stack 사용자 홈 디렉토리에 .ssh 디렉토리를 만들어준다

그리고 복사받은 컨트롤러의 공개키를 다음 명령어로 ~/.ssh/authorized_keys 파일 내용 뒤에 붙여준다

cat [컨트롤러의 공개키 경로] >> [~/.ssh/authorized_keys]




9. 컨트롤러 노드에서 컴퓨트1 노드로 SSH 접속 시 암호 입력할 필요없이 자동 로그인이 되는 것을 확인할 수 있다


+ Recent posts