It's Ward

나만의 서버 구축 3) SSH (22번포트) 설정 본문

백엔드

나만의 서버 구축 3) SSH (22번포트) 설정

I'm ward 2022. 7. 18. 03:25

사실 리눅스 서버를 사용할때 가장 걱정되었던 부분은 보안을 어떻게 해야하냐였다.
AWS EC2에서는 규칙설정으로 진행됬던 부분들을 모두 수종으로 진행해야했기 때문이다. 
가장먼저 EC2를 구현할 떄 푸티에서 해당 서버에 접속하기 위해 SSH .ppk 파일를 통해 접속했던 기억을 떠올렸고, 가장먼저 설정을 진행해 보았다.

 1. 필자는 Ubuntu 서버를 구축할 때, Open SSH를 옵션으로 설치를 미리 해두었었다. 하지만 설치를 하지않았었다면 다음 명령어로 Open SSH Server를 먼저설치하여아 한다.

$ sudo apt update
$ sudo apt install openssh-server

2. Open SSH Server 실행
사실 설치가 완료되거나 컴퓨터가 꺼졌다가 켜지는 경우, 자동으로 Open SSH Server는 실행되어있으나, 한번 더 확인할 겸 상태를 확인해본다.

$ sudo systemctl status ssh

다음과 같이 나오면 정상적으로 연결되어있는 것이다.

3. SSH 포트로 연결
사실 여기까지만 되었다면, 해당 ip를 이용하여 ssh포트를 통해 연결이 가능해진다. 하지만, 조금 불안하여 필자는 SSH Key를 별도로 등록하여, 키가 있는 사용자의 경우에만 접근 할 수 있도록 설정하도록 하였다.

다음과 같이 진행한다.

$ ssh-keygen -t rsa

다음과 같이 명령을 입력하면, 다음과 같은 옵션이 나온다.

1. 키를 저장할 경로( $ /home/사용자/.ssh 해당 경로가 기본 경로이다.) enter를 입력하면 해당 경로로 자동으로 저장된다.
2. passphrase(암호, 기본값 없음)
3. passphrase 재확인

사실 모두 enter로 진행하여도 문제는 없으나,  찝찝한 경우에는 한번 더 비밀번호를 통해 암호화 작업을 해도 괜찮다고 생각한다.

이렇게 진행 한 후 

$ cd /home/사용자

$ ll

$ cd .ssh

다음과 같이 진행한다. 해당 위치에는 id_rsa , id_rsa.pub 폴더가 있을텐데, 각각 개인키와 공개키이다.
개인키는 절대로 외부로 유출되서는안된다. 

우선 외부에서 들어올 떄, 해당 공개키를 인증키로 사용하기위해 다음과 같이 설정한다.

$ cp id_rsa.pub authorized_keys

$ sudo chmod 755 authorized_keys

이후 개인키를 열어 접속할 공간에 저장한다.

vim id_rsa

해당 키를 모두 드래그하여 복사한 후 메모장에 저장하고, .ppk 확장자로 사용하면, putty에서 ssh로 접속할 수 있다.

마지막으로, 키 방식으로만 서버에 접근이 가능하게하고 암호를 통한 접속은 불가능하게 설정한다.

$ vi /etc/ssh/sshd_config

sshd 설정 파일에서 PermitRootLogin 부분을 다음과 같이 변경한 후 저장한다.

PermitRootLogin without-password

ssh 서비스를 적용한다.

$ service ssh reload

해당 파일을 인증파일로 사용하면 된다. 

Comments