SSH
원격지에 있는 컴퓨터를 안전하게 제어하기 위한 프로토콜
클라이언트 - 서버 사이에 강력한 암호화 방법을 통해서 연결되어 있기 때문에, 데이터를 중간에 가로채도 해석 할 수 없는 암호화된 문자만이 노출
SSH Key
서버에 접속할 때, 비밀번호 대신 key를 제출하는 방식
- 로그인 없이 자동으로 서버에 접속
- 비밀번호 보다 높은 수준의 보안이 필요로할 때
SSH Key 작동 방식
private key, public key 가 존재.
private key -> 로컬 머신
public key -> 리모트머신(원격 제어를 받을)
SSH 접속을 시도하면 리모트 머신이 로컬 머신의 private key와 리모트 머신의 private key를 비교해서 일치여부 확인
SSH Key 만들기
"ssh-keygen -t rsa" 를 타이핑하여 key 생성
경로를 설정해주고(그냥 엔터 누르면 기본경로로 설정된다.) 비밀번호 입력(생략가능, 자동로그인 원하면 생략해야 한다.)
cd .ssh 를 통해 ssh 디렉토르로 이동 후, ls -al 을 통해 id_rsa, id_rsa.pub가 생성 되었는지 확인
파일의 대한 설명
id_rsa : private key, 절대로 타인에게 노출되면 안된다.
id_rsa_pub : public key, 접속하려는 리모트 머신의 authorized_keys에 입력한다.
authorized_keys : 리모트 머신의 .ssh 디렉토리 아래에 위치하면서 id_rsa.pub 키의 값을 저장한다.
.ssh 디렉토리 안의 파일은 매우 중요하다 권한 설정이 꼭 필요함
1 2 3 4 5 | chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub chmod 644 ~/.ssh/authorized_keys chmod 644 ~/.ssh/known_hosts |
다음과 같은 순서로 설정을 권장
SSH Key 사용하기
SSH Server의 authorized_keys 의 내용이 SSH client의 id_rsa.pub 파일과 같아야 한다. 따라서 ssh 접속 시 id_rsa와 authorized_keys의 파일을 비교한다. 일반적으로 SCP를 사용하여 key를 전송한다.
master가 slave1에 접근하고 싶을 경우이다.
scp $HOME/.ssh/id_rsa.pub hduser@slave1:id_rsa.pub 를 작성하여 key를 전달해 준다.
아래와같이 id_rsa.pub 100% ~~ 가나오면 성공!
hduser@slave1 -> 사용자id@상대방ip주소
처음 scp를 사용할때, 22번 포트 문제가 있었다 이럴때는
openssh-server, openssh-client 패키지를 설치해주면 해결 되었다.
sudo apt-get install openssh-server openssh-client
slave1에 키를 보낸 후, slave1은 받은 key값은 인증키(authorized_keys)에 추가해 준다.
cat $HOME/id_rsa.pub >> $HOME/.ssh/authorized_keys
인증키에 추가한 후, master로 돌아와 ssh slave1 or userID@userAdress 를 치면 로그인이 된다.
나는 slave1, slave2, master의 모든 id를 hduser로 설정하고, slave1,slave2,master 의 주소정보를 /etc/hosts로 추가해주었다.
다음과 같이 비밀번호 없이 바로 로그인이 되면 성공이다.
로그아웃 시에는 exit 키워드를 이용해 slave1에서 master로 다시 나와주면 된다.
출처
https://opentutorials.org/module/432/3742 생활코딩 강의
https://www.youtube.com/watch?v=RWzJoTWv9M4&t=790s 우분투를 이용한 하둡 멀티노드 설치( 멀티노드 네트워크 설정)
'Linux > Ubuntu' 카테고리의 다른 글
[Linux] scp로 파일 주고 받기 (0) | 2020.03.03 |
---|---|
[linux] 설치 파일 찾기 (0) | 2019.12.06 |
[Ubuntu] 18.04로 tensorflow gpu + pycharm 설정 (1) | 2018.08.17 |
[Ubuntu] VirtualBox 네트워크 (0) | 2018.02.07 |
[Ubuntu] VirtualBox를 이용하여 Ubuntu 설치 (0) | 2018.02.07 |