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 필요 없이 로그인!