1. ssh 키를 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop-user/.ssh/id_rsa): Created directory '/home/hadoop-user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop-user/.ssh/id_rsa. Your public key has been saved in /home/hadoop-user/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Na1h/ra831x71ZqUjVTA1Z132aJlmeMzW3PSmZHqB1o hadoop-user@master The key's randomart image is: +---[RSA 2048]----+ | .+oo==o| | .o=@+o| | + =++ | | = .. +o.| | S o . .=.| | . E + o.+.| | . o = +| | . +.= | | .+&* | +----[SHA256]-----+ | cs |
* 위의 SHA256 값은 예시로써 임의의 값입니다.
* "Enter file in which to save the key (/home/hadoop-user/.ssh/id_rsa):"
ㄴ 소괄호 안의 경로, 그대로 저장할 경우 <Enter> 키를 누릅니다.
* "Enter passphrase (empty for no passphrase):"
ㄴ 별도의 비밀번호를 설정하지 않을 경우 <Enter> 키를 누릅니다.
* "Enter same passphrase again:"
ㄴ 입력한 비밀번호를 재입력합니다.
* 암호 입력을 비워두면 추후 키를 사용할 때 암호를 묻지 않습니다.
2. 생성된 키 확인
1 2 3 | $ ls ~/.ssh id_rsa id_rsa.pub | cs |
* 키가 생성된 경로는 별다른 설정을 하지 않았을 경우 해당 계정의 홈 디렉토리 이하의 .ssh 디렉토리입니다.
* 개인 키는 노출되지 않도록 잘 보관하세요.
3. 공개 키에 대한 내용을 authorized_keys 에 추가
1 | $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys | cs |
* 디렉토리 및 파일 조회 시 authorized_keys 는 없을 수도 있으나 그대로 진행해도 상관없습니다.
4. ssh-agent에 암호문 등록
4-1번과 4-2번 중 1가지 방법을 선택
4-1. ssh-agent 활성화 여부 확인
1 2 3 | $ eval $(ssh-agent) Agent pid 4678 | cs |
4-2. ssh 개인 키 추가
1 2 | $ ssh-add Identity added: /home/hadoop-user/.ssh/id_rsa (/home/hadoop-user/.ssh/id_rsa) | cs |
* ssh-agent 에 암호문을 등록하여 매번 암호를 입력하는 것을 대신할 수 있습니다.
5. ssh 키를 생성한 서버의 공개 키를 접속할 대상 서버에 전달
1 2 3 4 5 6 7 8 | $ ssh-copy-id hadoop-user@secondary hadoop-user@secondary's password: Now try logging into the machine, with "ssh 'hadoop-user@secondary'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. | cs |
* 위와 같이 접속을 실행하게 될 경우 접속 대상이 되는 서버의 비밀번호를 입력해야 합니다.
6. 공개 키 전달 이후에 대상 서버에 접속이 되는지 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 | $ ssh secondary Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 17 packages can be updated. 10 updates are security updates. Last login: Tue Oct 10 13:40:49 2017 from 192.168.10.101 | cs |
※ ~/.ssh 디렉토리 관련 허가 설정
1 2 3 4 5 6 | $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/id_rsa $ chmod 644 ~/.ssh/id_rsa.pub $ chmod 644 ~/.ssh/authorized_keys $ chmod 644 ~/.ssh/known_hosts | cs |
'Operating System > Linux' 카테고리의 다른 글
root 비밀번호 설정 (0) | 2017.10.12 |
---|---|
Ubuntu Server 설치 (0) | 2017.10.12 |
disk mount (0) | 2017.10.10 |
방화벽 ON / OFF (0) | 2017.09.28 |
host 파일 설정 (0) | 2017.09.26 |