티스토리 뷰

리눅스를 설치했으면 이제 외부에서 진입해서 사용할 수 있도록 서버화를 시켜야한다.


보통은 랜선에 연결해서 쓸 경우 고정 IP를 만들어 쓸 수 있지만, 무선랜을 사용하기 떄문에 IP 고정시키는 경우를 생략했다.


하지만 공부한 내용은 IP 주소 고정부터 시작한다.



1.  IP주소 고정


$sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0


에서 IP부분을 바꿔주자



$sudo service network restart


하고나면 다시 서비스를 재시작해주어야 한다.



2. SSH 포트번호 변경


포트번호는 사용가능한 8천번대 포트로 바꿔주자


$sudo vi /etc/ssh/sshd_config


에서 

#Port 22  -> Port 8000    : 포트번호 변경

#Protocol 2 -> Protocol 2 : 프로토콜 고정

#PermitRootLogin no -> PermitRootLogin no  : 바로 루트계정으로 로그인 방지

#MaxAuthTries 6 -> MaxAuthTries 6 : 암호 불일치 6번이면 차단



요정도만 바꿔주자


그리고 SSH데몬 재가동


$sudo service sshd restart


아래의 코드로 확인해보면 아직 안나온다.  

$ss -nalt 


CentOS에서는 SELinux라는 놈이 SSH포트를 22번으로 고정시키기 때문인데 포트정의를 추가하기 위해서는 semanage라는 게 필요하다. 이건 semanage라는 놈을 써야하는데 툴을 설치해야한다고 함


$sudo yum -y install policycoreutils-python


파이썬회사에서 만들었나? 모르겠다.


먼저 SSH 포트 정의 내용을 먼저 확인해 보자

$sudo semanage port -l | grep ssh

ssh_port_t    TCP    22


확인해서 위와 똑같이 나온다면 이제 SSH포트를 추가해보자

$sudo semanage port -a -t ssh_port_t -p tcp 8000


8000번을 추가했다. 위에 확인 코드로 한번 더 확인해보는 것도 나쁘지 않다.


재가동을 하고 다시 한번 포트가 확실히 열렸는지 확인해보자

$sudo service sshd restart

$ss -nalt 

ssh_port_t    TCP    22, 8000


3. 방화벽 해제


포트는 열려있어도 CentOS에서는 해당 포트를 방화벽으로 막고있는 상태일 것이다. 그래서 외부의 컴퓨터가 접속을 시도하려하면 안열리는데 이를 방지해보자


먼저 현재 방화벽 해제가 되어있는 포트를 확인한다.(여기는 띄어쓰기가 붙어있는 것을 주의하자)

$sudo firewall-cmd --list-all


public(default, active)

target: default

icmp-block-inversion: no

interfaces: wlp2s0

sources:

services: dhcpv6-client mdns ssh

ports: 1980/tcp

protocols:

masquerade: no

forward-ports:

sourceports:

icmp-blocks:

rich rules:


이렇게 나올텐데 ports 라는 부분에 아직 8000번이 추가가 안되어 있다는 것을 확인 할 수 있다.

이제 추가하고 리로딩을 해준다.


$sudo firewall-cmd --permanent --zone=public --add-port=8000/tcp

$sudo firewall-cmd --reload



다시확인 해보면 8000번 포트가 추가된것을 확인 할 수 있다.





이제 윈도우에서도 푸티로 접속을 시도해보자


https://putty.ko.softonic.com/




이상 끝