IT/Unix & Linux

ssh key 파일의 from옵션을 이용한 IP 접근 제한 설정

슈다루냥 2019. 11. 18.
728x90

안녕하세요. 슈다 입니다.

ssh 사용시 key 파일을 만들어 서버와 클라이언트 간 등록하여 사용하는 경우 

공개 key 파일에 옵션을 추가하여 접근하려는 서버의 IP를 제한하는 방법에 대해 알아보겠습니다.

 

- rsa key 기준으로 설명합니다 -

서버에서 ssh-keygen -t rsa 명령으로 public key와 private key를 생성하면 아래의 두가지 키가 생성됩니다.

    id_rsa  (private key)
    id_rsa.pub (public key)


서버의 특정 계정 id_rsa.pub 파일 내용이 클라이언트의 특정 계정 home 디렉토리 아래의 .ssh/authorized_keys 파일 안에 포함되어 있다면

서버와 클라이언트 간 해당 계정은 비밀번호 없이 ssh 로그인이 가능하게 됩니다.

 

여기서 id_rsa.pub 파일에 from 옵션을 사용하여 클라이언트에 접근하는 IP에 대해 접근 제한이 가능합니다.

id_rsa.pub 파일에 from 옵션을 적용한 후 authorized_keys 파일로 배포하거나

클라이언트의 authorized_keys 파일을 id_rsa.pub 파일 내용과 동일하게 수정해 줍니다.

 

A(서버), B(클라이언트) 라고 가정하면 A가 B로 접속시, B의 authorized_keys 파일 안의 from옵션을 확인하여

A의 IP가 등록되어 있다면 접근이 허용되고, 등록되지 않은 IP라면 ssh인증이 취소되고 ssh 로그인을 시도한 계정의 비밀번호를 물어보게 됩니다.

아래는 from 옵션 적용 방법 입니다.

 


- from 옵션 적용 전 id_rsa.pub 파일 내용 -

root@server1 /home/user1/.ssh]cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX45EE4FsD+tfVEpCiD
njfU4Meb user1@server1
root@server1 /home/user1/.ssh]


- from 옵션 적용 후 id_rsa.pub 파일 내용 - 
root@server1 /home/user1/.ssh]cat id_rsa.pub
from="10.10.10.5"  ssh-rsa AAAAB3NzaC1yc2EAXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX45EE4FsD+tfVEpCiD
njfU4Meb user1@server1
root@server1 /home/user1/.ssh]


vi로 파일을 열어 from="IP" 구문을 기존 내용의 앞부분에 추가하면 from 옵션이 적용됩니다.

여러 IP에 대해 적용하고 싶다면 from="IP,IP,IP" 처럼 쉼표 "," 로 IP를 구분하여 작성합니다.

from 옵션은 파일 편집 즉시 적용됩니다. 별도의 ssh 데몬 재기동은 필요하지 않습니다.

728x90
반응형