CentOS7에는 기본으로 OpenSSH 서버가 설치된다.

따라서 별도의 설치가 필요하지 않으나, 설치여부를 확인할 필요는 있다.




[keysco@server ~]$ rpm -qa openssh-server
openssh-server-6.6.1p1-11.el7.x86_64
[keysco@server ~]$

OpenSSH 서버 패키지가 설치되어 있는지 확인하고,




[keysco@server ~]$ systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since 화 2018-09-04 15:29:12 KST; 2min 44s ago
 Main PID: 1122 (sshd)
   CGroup: /system.slice/sshd.service
           └─1122 /usr/sbin/sshd -D

[keysco@server ~]$ 

sshd 데몬(서비스)의 가동 여부를 확인한다.





[keysco@server ~]$ sudo vi /etc/ssh/sshd_config

SSH 포트번호를 바꾸고 싶다면 "sshd_config" 파일을 열어서 "#Port 22" 를 "Port xxxx"로 바꿔준다.




[keysco@server ~]$ sudo service sshd restart
Redirecting to /bin/systemctl restart  sshd.service 

SSH 데몬을 재시작한다.




[keysco@server ~]$ ss -nalt
State      Recv-Q Send-Q                                      Local Address:Port                                        Peer Address:Port 
LISTEN     0      128                                                     *:22                                                     *:*     
LISTEN     0      128                                             127.0.0.1:631                                                    *:*     
LISTEN     0      100                                             127.0.0.1:25                                                     *:*     
LISTEN     0      128                                                    :::22                                                    :::*     
LISTEN     0      128                                                   ::1:631                                                   :::*     
LISTEN     0      100                                                   ::1:25                                                    :::*     
[keysco@server ~]$ 

새로 지정한 포트가 리스닝 상태인지 확인하고

만약 새로 지정한 포트가 없다면 SELinux의 SSH포트 정의에 추가해줘야 한다.




[keysco@server ~]$ sudo semanage port -l | grep ssh
ssh_port_t                     tcp      22
[keysco@server ~]$ 

현재 SSH포트를 확인하고




[keysco@server ~]$ sudo semanage port -a -t ssh_port_t -p tcp 12345
[keysco@server ~]$ 

ssh_port_t 정의에 TCP 포트 xxxx를 추가한다.




[keysco@server ~]$ sudo service sshd restart
Redirecting to /bin/systemctl restart  sshd.service
[keysco@server ~]$ ss -nalt
State      Recv-Q Send-Q                                      Local Address:Port                                        Peer Address:Port 
LISTEN     0      128                                                     *:12345                                                   *:*     
LISTEN     0      128                                             127.0.0.1:631                                                    *:*     
LISTEN     0      100                                             127.0.0.1:25                                                     *:*     
LISTEN     0      128                                                    :::12345                                                  :::*     
LISTEN     0      128                                                   ::1:631                                                   :::*     
LISTEN     0      100                                                   ::1:25                                                    :::*     
[keysco@server ~]$ 

다시 SSH 데몬을 돌리고 포트를 확인한다.

이제 포트는 열렸지만 SSH접속은 아직도 불가능하다. 방화벽에서 차단되었기 때문이다.




[keysco@server ~]$ firewall-cmd --list-all
public (default, active)
  interfaces: enp2s1
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
  
[keysco@server ~]$

현재의 방화벽 상태 확인




[keysco@server ~]$ sudo firewall-cmd --permanent --zone=public --add-port=12345/tcp
success
[keysco@server ~]$ 

새로운 포트를 방화벽 허용규칙에 추가해주고




[keysco@server ~]$ sudo firewall-cmd --reload
success
[keysco@server ~]$

방화벽 재시작




[keysco@server ~]$ firewall-cmd --list-all
public (default, active)
  interfaces: enp2s1
  sources: 
  services: dhcpv6-client ssh
  ports: 12345/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
  
[keysco@server ~]$ 

변경된 방화벽 확인.




Copyright (c) 2002-2017 NetSarang Computer, Inc. All rights reserved.

Type `help' to learn how to use Xshell prompt.
[c:\~]$ ssh 192.168.10.1 12345


Connecting to 192.168.10.1:12345...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Tue Sep  4 15:30:21 2018
[keysco@server ~]$ 

마지막으로 변경된 SSH포트로 접속 테스트.

Posted by 비형랑#
: