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.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

+ Recent posts