Linux

[Linux] ssh-keygen

twoDeveloper 2021. 9. 6. 21:57

■ SSH Key란?

Server에 접속 할 때 비밀번호 대신 key를 제출

사용 경우

   1) 비밀번호보다 높은 수준의 보안 필요시

   2) 로그인 없이 자동으로 Server에 접속시

 

■ ssh-keygen

[Controller]

 

1. ssh-keygen으로 key 생성 (rsa)

$ ssh-keygen -t rsa

· ssh-keygen으로 생성할 수 있는 키는 'RSA', 'DSA' 두가지가 존재

 

2. .ssh 디렉토리 내에 파일 확인

$ cd ~/.ssh

· .ssh 디렉토리 파일 내에 'id_rsa', 'id_rsa.pub' 파일 생성

 

3. ssh copy

$ ssh-copy-id study@10.0.2.21
$ ssh-copy-id study@10.0.2.22
$ ssh-copy-id study@10.0.2.23
$ ssh-copy-id study@10.0.2.24

· host1, 2, 3, 4 IP에 copy 시킴

 

· 이후, 다시 .ssh 디렉토리를 확인해보면 

· 'known_hosts' 파일이 추가 생성됨

 

 

4. sudoers 설정

# vim /etc/sudoers.d/study

-------------------------------------
study	ALL=(ALL)	NOPASSWD: ALL  # 다음과 같이 설정

· sudo 사용을 위한 sudoers 설정

· sudo에 관한 설정을 바꿀 때 /etc/sudoers 파일을 직접 고치기보다, /etc/sudoers.d/ 내부에 설정 파일을 추가해 주는 것이 좋음

· sudo를 할 경우 Password를 묻지 않도록 지정 => study     ALL=(ALL)     NOPASSWD: ALL

 

 

5. scp를 사용하여 sudoers 설정 파일 복사 전송

# for i in {21..24}; do scp /etc/sudoers.d/study root@10.0.2.$i:/etc/sudoers.d/ ; done

· 10.0.2.21~24 에 (host1, 2, 3, 4) 파일 복사, 전송

 

· 그럼, ssh 접속 시 password 필요 없이 로그인!