본문 바로가기

리눅스

계정 별 SSH 설정

리눅스를 사용하다 보면 사람마다, 또는 서비스마다 계정을 나누는 경우들이 종종 있다.
세팅되어있는 상태로 사용하기만 하다가 처음으로 계정의 ssh 키를 만들어 공유해보았다.
복습 겸 사이드 프로젝트의 테스트 서버에도 앱을 위한 계정을 만들고 ssh 키를 발급했고 기록용으로 남긴다.


1. 계정 생성

기존에 있는 계정이나 그룹을 먼저 확인해본다.

cat /etc/passwd
cat /etc/group

적당한 이름으로 새로 유저를 만들어준다. 아래는 예시로 test1 이란 이름으로 만든다.

sudo adduser test1

그럼 test1(그룹아이디)란 그룹과 test1(유저 아이디)가 새로 생성되고 /home 아래 유저명으로 된 디렉터리가 생성된다.

2. ssh 키 발급

ssh 키를 발급하는 명령어는 아래와 같다.

ssh-keygen

ssh-keygen은 ssh 키를 생성, 관리, 권한 변경할 수 있는 명령어이다. ssh-keygen ssh 프로토콜에 사용되는 RSA 키나 DSA 키를 생성할 수 있다 (-t 옵션으로, 디폴트는 RSA, 둘의 차이는 사용하는 알고리즘의 차이). 

어떤 옵션 없이 명령어를 실행하면 ~/.ssh 아래 id_rsa, id_rsa.pub 두 파일이 생성된다.

id_rsa : ssh 버전 2 RSA 사용자 인증 정보(authentication identity of the user)를 담고 있다. 유저 외의 다른 사람들이 읽어선 안된다(파일 권한 400). 키 생성 시 passphrase를 넘길 수 있다. 사용자가 로그인할 때 이 파일을 읽는다. 
id_rsa.pub : ssh 버전 2 RSA 퍼블릭 키 인증정보를 담고 있다. 이 키는 ~/.ssh/authorized_keys 이 퍼블릭 키를 이용해 로그인하려는 모든 곳의 .ssh에 추가되어야 한다.

만들어진 키를 ssh 통신에 사용하기 위해서 id_rsa.pub의 내용을 담고 있는 authorized_keys를 만들어준다.

cat id_rsa.pub > authoized_keys

 

3. 개인키로 접속

id_rsa 키를 복사해(권한주의) 새로 만든 유저로 서버에 접속해본다.

ssh -i id_rsa test1@serverip

 


끗-!

'리눅스' 카테고리의 다른 글

파일 권한 관리  (0) 2022.03.06