(30)★ ssh key 를 사용하여 로그인 없이 로그인하기
■ ssh key
ssh, rsync, git 과 같은 기술을 사용하면서, 로그인 없이 보다 안전한 방법으로 인증하고자 할 때 ssh 공개키를 이용하면 편의성과 보안성을 모두 증진시킬 수 있다.
■ ssh key 이해
- host_1 의 IP : 192.168.0.4
- host_2 의 IP : 192.168.0.76
가 있다고 가정하자.
host_1 에서 host_2 로 접속하고자 할 땐
$ ssh chpark@192.168.0.76
$ password // s12345 입력 시 host_2(리눅스)에 로그인 가능하다.
이 때 비밀번호를 입력 하지 않으면서도 훨씬 더 안전한 방법으로 로그인 하는 방법을 알아보자.
먼저 ssh 공개키, 비공개키를 만들어야 한다. ( 비공개키는 절대 노출되어서는 안된다. )
## host_1 192.168.0.4 에 chpark 계정으로 로그인
$ ssh-keygen
Enter file in which to save the key (/home/chpark/.ssh/id-rsa)
// (.ssh) .이 들어간 디렉토리의 경우 숨긴 파일임을 의미한다.
key 가 생성된다.
ssh key 가 생성된 디렉토리를 찾아가보자.
$ cd ~/chpark/.ssh
$ ls -l
id_rsa (ssh private key) , id_rsa.pub (ssh public key) 이 생성된 것을 볼 수 있다.
host_1에 생성된 id_rsa_pub 의 내용을 host_2 의 인증된 키 목록 인 authorized_keys 에 붙여 넣어주면
host_1에서 따로 로그인 하지 않고 오히려 더 안전하게 host_2에 접근할 수 있다.
■ ssh-copy-id
이 유틸리티를 사용하면 authorized_keys 파일 끝에 id_rsa.pub 파일의 내용을 append 하게 한다.
■ ssh publick key를 사용하여 로그인 (실습)
## host_1 (192.168.0.4)
$ ssh-keygen
$ cd ~chpark/.ssh
$ ls -l
id_rsa , id_rsa_pub 가 있다.
$ ssh-copy-id srhwang@192.168.0.76
// 처음 192.168.0.76 다른 ip로 접근 시 password 최초 한 번은 입력해줘야 한다.
## host_2 (192.168.0.76)
$ cat authorized_keys
// host_1 의 public ssh key (id_rsa.pub)의 내용이 authorized_keys 파일에 append 된 것을 볼 수 있다.
===================================================
이 후부터는
$ ssh srhwang@192.168.0.76
을 입력하면 로그인 필요없이 접속하게 된다.
※ 정기적으로 실행하는 크론(cron)을 사용하여 다른컴퓨터로 로그인 후 동기화하는 작업이 있을 경우 굉장히 유용하게 사용될 수 있다.
출처: https://sourceflower.tistory.com/86?category=613435 [소스플로우]
'OS > Linux' 카테고리의 다른 글
Linux 문서편집기 vi, vim 명령어 정리 (0) | 2019.07.26 |
---|---|
리눅스 SSL 인증서 만료일 확인 (0) | 2019.07.09 |
레드햇 패키지(.rpm) 를 데비안 패키지(.deb) 로 변환 (0) | 2019.03.26 |
리눅스 기본사용법 (번외) (0) | 2019.03.26 |
(29)★ rsync - 인터넷을 통한 서버간 동기화 (0) | 2019.03.26 |
(28) 원격제어(ssh) (0) | 2019.03.26 |
(28)★★ tail 명령어로 access.log 와 error.log 로그 확인하기 (0) | 2019.03.26 |
(27)★★ 웹서버는 storage(HDD, SSD)에서 어떻게 파일을 읽어올까? (0) | 2019.03.26 |