서버

SSH 설정

dev23 2023. 8. 12. 16:56
반응형

SSH.. SSH는 터미널을 통해 원격 호스트에 연결할 수 있도록 하는 프로토콜이다.

SSH의 기본 포트는 22 로, 기본적으로 설정되어 있는 포트를 사용하는 것은 보안상 좋지 않다.

그래서 SSH의 포트를 바꿔 주어야 한다.

 

우선 SSH의 설정 파일을 수정하여 포트를 바꿔 보자.

다음 경로로 이동하거나, 절대 경로를 이용해 파일을 열자.

/etc/ssh/

현재 접속된 계정이 root 가 아니라면 "sudo" 명령어를 붙여서 열어야 한다. sudo 설정도 안 되어 있다면 sudo 설정을 해야 한다.

https://dev1023.tistory.com/40

 

sudo 설정하기

관리자의 권한이 필요한 작업이 있다. 일반 사용자는 당연히 해당 작업은 수행할 수 없을 것이다. 그런데 실행하려는 명령어에 sudo 를 붙여 실행하면 관리자의 권한을 잠시 얻어 명령어를 실행

dev1023.tistory.com

 

1. sshd_config 파일 수정

파일은 다음 경로에 있을 것이다. 

# sudo vi /etc/ssh/sshd_config

 

파일을 열어 포트를 변경하자. 포트 번호는 원하는 번호로 설정하면 된다. 단, 포트의 범위가 있으니 그 범위 안에서 설정해야 한다. ( 1024 ~ 65535 사이의 번호로 설정하면 될 것 같다.)

해당 파일의 17 라인을 수정하여 포트 번호를 변경한다.

파일의 17번 째 줄이 주석 처리되어 있다면, 주석을 해제하고 포트 번호를 변경하면 된다.

root 계정의 로그인을 차단

추가로 43번 째 줄인 "PermitRootLogin"을 "no"로 설정하여 root 계정으로 바로 ssh 접속이 불가능하도록 설정한다.

파일 수정이 완료되면 해당파일을 저장하고 닫는다.

그리고 selinux를 설정해 주어야 한다.

 

2. selinux 설정

다음 명령어를 통해 설정한 포트를 사용할 수 있도록 한다. selinux를 사용하고 있지 않다면 다음 설정은 건너뛰어도 된다.

# semanage port -a -t ssh_port_t -p tcp [설정한 포트]

만약, semanage 명령어를 찾을 수 없다면 해당 패키지를 설치해야 한다.

 

https://dev1023.tistory.com/38

 

semanage package

selinux 관련 포트 설정을 하려면 semanage 명령어를 사용하는 것 같은데, 해당 명령어를 찾을 수 없다는 문구를 보았다... 그래서 해당 패키지를 설치하려고 한다. 1. 해당 패키지를 확인 - 설치하려

dev1023.tistory.com

 

3. ssh 서비스 재시작

위까지 설정하고 ssh 서비스를 재시작 해 주어야 한다.

# systemctl restart sshd

재시작 후 서비스가 정상적으로 동작하는지 확인해 본다.

# systemctl status sshd

 

4. 방화벽 설정

설정한 포트가 허용될 수 있도록 방화벽을 설정해야 한다.

# firewall-cmd --permanent --zone=public --add-port=[설정한 포트]/tcp

위 내용을 입력한 후 설정을 적용하기 위해 방화벽을 다시 로드한다.

# firewall-cmd --reload

 

 

설정을 마쳤다.. 이제 설정한 호스트 외의 다른 기기에서 설정한 포트로 접속이 되는지 확인해 보자.

참고로 접속은 다음과 같이 할 수 있다.

# ssh [원격지의 계정명]@[원격지IP 혹은 도메인 주소] -p [설정한 포트]
ex) ssh acc1@192.168.0.1 -p 4321
반응형