[Linux] RSA 키 값을 통한 SSH 원격 제어 방법

2021. 4. 3. 10:20IT/Operating System

 리눅스 서버를 여러 대 혹은 원격으로 관리하다 보면 매번 IP나 패스워드를 잊어버려 접속에 애 먹을 때가 많다. 또한 작업 대수가 많으면 많을수록 작업 효율이 나지 않는다. 이 페이지에서는 리눅스 서버를 쉽게 접속 관리하는 방법에 대해 기록하려고 한다.

 

*RSA Key

Ron Rivest, Adi Shamir, Leonard Adleman 세 사람이 개발한 인증 방식으로 보통 "공개키"라고 부르기도 한다. 소인수분해를 통해 값을 암호화하는데 해독하기 어렵다. 물론 양자 컴퓨터처럼 처리 성능이 뛰어난 장비가 있다면 또 이야기가 다르지 않을까. 어쨌든 구조는 암호화된 키와 이를 해독하는 키가 생성되고 해독 키만 가지고 있다면 언제든지 보안이 열린다. 마치 지옥의 공인인증서 느낌?

 

 다행히 리눅스 서버에서 구성은 쉽다.

 

 > ssh-keygen

 

 

RSA Key값이 금새 생성된다.

 

 결과에서 보듯이 기본 파일 생성 경로는 각 계정의 /.ssh/id_rsa 파일로 생성된다. 해당 경로는 비공개 이므로 ls -al로 조회가 가능하다. passphrase 암호는 추가로 넣어도 되고 그냥 Enter로 안 넣어도 무방하다.

 

 이제 상대에게 대조 키를 복사하여 상호 접속이 간편하도록 만들어 보자.

 

> ssh-copy-id ip

 

 

명령어로 상대 IP에 적절한 경로로 편리하게 전송 됨

 

 상대 리눅스에 인증 key값이 복사되었다. 이제 원격으로 접속해보자.

 

> ssh ip

 

별 인증이나 계정 정보 없이 그냥 접속이 가능하다.

 

 OS엔지니어들이 평소에 상대 서버에 들어가기 위해서는 서버 주소와 계정, 암호가 필요한데 이제 시도해보면 그런 것들이 필요가 없다. 즉시 접속되므로 굉장히 편리하게 사용이 가능하다. 다만 passphrase 값을 RSA 키값 생성 시 입력하였다면 해당 암호를 추가로 입력해주어야 한다.

 

 리눅스의 RSA 키값을 활용하면 ssh 관련 컨트롤 시 매우 편리하고 빠르게 작업이 가능하다.

 

● 결론

  1. 매우 편리함

  2. /etc/hosts나 DNS가 있다면 더 편리

  3. 보안 관련 기능 이므로 관리자에게 허락 맡고 사용하자