태그 글 보관함: SSH 설정

CentOS 7.1 최소 설치 후 SSH 포트 번호 변경 방법. 방화벽 포트 열기

CentOS 7.1을 최소 설치 후, SSH 포트를 변경하는 방법을 설명한다. CentOS 7.1에서 바뀐 명령도 있는 것 같고, 최소로 설치하면 설치가 안된 툴들이 있어서 그런지 우분투에서 쓰던 여러 명령들이 작동하지 않는다. 애초에 우분투와 다른 명령들도 많고…

IP 주소 고정

CentOS 설치 과정에서 네트워크 설정으로 들어가서 IP 주소를 고정으로 할당 받도록 하면 일이 많이 편해진다. 설치 과정에서 설정하지 않았으면, 아래 파일을 편집 후 네트워크를 재시작해야 한다.

ifconfig 로 현재 IP 주소를 알아보려고 하면 command not found. 이럴때는 ifconfig 대신 ip 명령을 사용하면 된다.

ifconfig 커맨드를 쓰려면 net-tools 팩키지를 설치하면 된다.

SSH 포트 번호 변경

우분투와 다름없이 아래 명령으로 sshd_config 파일을 열어서 Port 부분의 주석을 해제하고 원하는 포트 번호를 써주고 파일을 저장한다.

로 되어 있는 걸

으로 고치고 저장한다.

그리고, SSH데몬 재기동

테라텀으로 서버 IP 주소에 바꾼 포트 번호로 접속을 해 봐도 접속이 안될 것이다. SSH 포트가 제대로 바뀌어 있나 확인 해 보자.

열려 있는 포트 중에 위에서 바꾼 새로운 SSH 포트 번호인 1022가 나오지 않는다.

이유는 CentOS 에 있는 SELinux가 SSH 포트를 기본 SSH 포트인 22번으로 고정하고 있기 때문이다. SELinux 의 SSH 포트 정의에 1022 번을 추가하기 위해서는 semanage 명령이 필요하다. 하지만, semanage 명령을 쳐보면 command not found. semanage 툴을 설치하자.

먼저 SSH 포트 정의 내용을 확인한다.

ssh_port_t 라는 이름으로 TCP 22번이 쓰여져 있다.

아래 명령으로 ssh_port_t 정의에 TCP 포트 1022번을 추가한다. 시간이 좀 걸린다. 기다리자.

다시 SSH데몬 재기동 후, 포트가 열려 있는지 다시 확인한다.

이번에는 1022번이 열려 있는걸 확인 할 수 있다.
다시 테라텀으로 접속해 보면 여전히 접속이 안될 것이다. 이번엔 방화벽이 문제다.

방화벽 포트 열기

CentOS 에서는 방화벽이 돌아가고 있고, 기본 SSH 포트인 22번 포트는 열려 있지만, SSH 포트를 임의의 포트 번호로 변경을 했을 때는 당연히 그 포트 번호는 방화벽으로 막혀 있는 상태이다.
방화벽에 새로 지정한 SSH 포트 번호를 추가해야 한다.

CentOS 7 에서는 기본 방화벽인 iptables 대신 firewall 을 사용한다.

현재 방화벽 상태는 아래 명령으로 확인한다.

명령 실행 결과

services 에 ssh 는 포트 22번이기 때문에, ports 에 TCP 1022번 포트를 추가해 줘야한다.

아래 명령을 실행해서 1022번 포트를 추가해 주고, 방화벽을 리로드 한다. 그리고, 확인.

ports 에 1022/tcp 라고 되어 있으면 포트 번호가 제대로 추가된 것이다.

이제 테라텀으로 접속하면 잘 접속 될 것이다.

우분투 서버 14.04 LTS SSH 접속 설정

하이퍼v(hyper-v)에 우분투 서버를 설치하면 가상머신접속 화면에서는 한글이 깨지게 된다.
그럴때는 테라텀(teraterm) 등의 SSH 접속 프로그램으로 서버에 접속해서 사용하면 되는데, 서버는 항상 켜두고 원격에서 접속해서 서버를 관리하는게 여러모로 편리하니 SSH 접속 설정을 해 두는 것이 좋다.
이 글에서는 SSH 접속을 위한 설정을, 다음 글에서 테라텀을 이용한 접속에 대해서 설명해 보겠다.

SSH 설치

openssh 는 우분투 서버 설치 마지막에 선택해서 설치하면 편리한데, 설치하지 않았다면 아래 명령으로 설치 할 수 있다.

SSH 포트번호 변경

SSH 는 기본적으로 22번 포트를 사용하게 되어 있다.
웹서버나 FTP 서버로 사용하기 위해서 외부에 공개할 서버의 경우에는 SSH 의 기본 포트번호인 22번 포트로 공격해 오는 일이 많기 때문에 SSH 의 포트번호를 임의의 포트번호로 변경하는 것이 좋다.

openssh 데몬의 설정 파일을 편집한다.

예를 들어 포트번호를 1022번으로 변경할 경우에는 아래와 같이 바꾼다.

그리고, 보안을 위해서 root 계정으로 로그인을 금지하라는 글이 많은데 우분투 서버에서 openssh 설치시 기본적으로 아래와 같은 설정으로 금지 되어있으므로 신경 안써도 된다.

내용을 설명하자면, without-password는 패스워드를 입력한 root 계정 로그인을 허가하지 않는다는 말인데, 공개키를 만들어서 접속하는 방법으로는 root 계정 로그인을 허가하겠다는 설정이다. 공개키를 만들지 않으면 당연히 접속이 불가능하기 때문에 실질적으로 root 계정은 접속이 불가능해진다.

설정 파일을 저장하고 빠져 나와서 ssh 서비스를 재기동한다.

netstat 로 설정된 포트가 제대로 열려 있는지 확인해 본다.

sshd_config 에서 설정한 포트가 1022일때 아래와 같은 줄이 나와야한다.

다음 글에서는 테라텀으로 SSH 접속하는 방법에 대해서 설명해 보겠다.