[Ubuntu] 우분투 SSH .pem 원격 접속 및 보안 설정

Gogh·2023년 7월 8일
0

Ubuntu

목록 보기
3/4
post-thumbnail

우분투 SSH 구축까지 완료 하였다. 보안을 위해 ID/PW 접속을 차단하고 .pem Key 원격 접속만 허용 및 기본 보안 설정을 확인 해 본다.

서버 ssh-key 설정

서버와 클라이언트에서 별도의 작업을 해 주어야 하기 때문에 복잡할 수도 있다.

  • 클라이언트에서 아래 명령어를 입력한다.
$ ssh-keygen -t rsa -b 2048 -f server-key
  • 위 명령어를 입력하고 Enter 입력을 해주면, ~$ 경로에 server-key.pub & server-key 파일이 생성 된 것을 확인 할 수 있다.

  • 서버에서 아래 명령어를 입력하여 authorized_keys 파일을 생성 한다

    $ touch ~/.ssh/authorized_keys
    $ sudo chmod 600 ~/.ssh/authorized_keys
  • 클라이언트에서 Pub Key Value를 확인 하여 서버의 authorized_keys에 입력한다.

    $ cat server-key.pub

    • 서버의 ~/.ssh/authorized_keys Pub Key Value 입력
  • 클라이언트에서 아래 명령어 입력해 PEM Key로 변환한다.

    # pem Key로 변환
    $ cp server-key server-key.pem

  • 생성된 PEM Key로 외부에서 접속이 가능해진다.

    $ ssh -i server-key.pem [ServerUserName]@[IP & Domain 주소]

PEM Key 권한 에러

  • 외부에서 Key의 생성자 외 사용자가 복사한 pem Key를 사용하면 에러가 발생한다 이런 경우, 권한 설정을 변경해준다. 보안상 읽기 권한만 부여 해 준다.

    $ sudo chmod 400 server-key.pem
    • 권한 부여 후 다시 접속 시도 하면 정상적으로 접속 되는걸 확인 할 수 있다.

SSH 보안 설정

SSH 서버의 구성 파일인 /etc/ssh/sshd_config 의 프로퍼티를 몇가지 설정하였다.

  • 22번 포트 외의 포트 사용

    Port 2200
    • 22번 포트 외의 포트를 사용하면 보안상 이점이 있지만, PEM Key 로그인만 허용 하기에 별도 설정을 하지 않았다.
  • 세션 타임아웃 설정

    • 정해진 시간동안 사용하지 않으면 강제로 세션을 종료하도록 한다.
    • 아래 프로퍼티는 30분동안 사용하지 않으면 SSH 서버를 자동 종료한다.
    ClientAliveInterval 600
    ClientAliveCountMax 3
  • Root Login 차단

    • root 사용자 로그인을 허용하지 않는다
    PermitRootLogin no
  • 암호 없는 계정에 대한 로그인 허용

    PermitEmptyPasswords no
  • 암호 로그인 차단 및 공개키 인증 로그인 방식 허용

    • 공개키 인증 로그인 방식만 사용하기 위해서는 설정 전 공개키를 등록 해 두어야한다.
    PubkeyAuthentication yes
    PasswordAuthentication no
  • 로그인 시도 횟수 및 시간 제한

    # 로그인 시도 5회 실패시 접속 강제 종료
    MaxAuthTries 5
    # 30초 이내로 로그인 하지 않을 경우 강제 종료
    LoginGraceTime 30
  • 그 외

    • 특정 사용자만 허용, 특정 사용자와 아이피만 허용
    # HostName 1,2 사용자만 접속 가능하도록 허용
    AllowUsers HostName1 HostName2
    # HostName 사용자와 해당 IP의 접속만 허용
    AllowUsers HostName@199.999.99.02
  • 보안 설정 반영

    • SSH 프로세스를 재시작하여 설정을 반영한다.
    $ sudo systemctl restart sshd

profile
컴퓨터가 할일은 컴퓨터가

0개의 댓글