VM : VMware WorkStation 17 pro
설치 OS : CentOS 7
SSH 연결 테스트 PC OS : Window 11
which 명령어를 사용하여 sshd가 설치되어 있는지 확인해야한다.
명령어 실행결과 /usr/sbin/sshd 경로에 설치가 되어있는 것을 알 수 있다.
/etc/selinux 내 config 파일을 수정해야한다.
cat 명령어를 통해 파일을 확인해보면 기존에는 SELINUX=enforcing이라고 되어있다.
enforcing은 보안정책을 적용시킨다는 의미이다. 이를 vi 명령어를 통해 disabled로 변경하여 보안정책을 사용하지 않도록 설정한다.
vi를 사용한 수정 방법
vi config
i를 눌러 수정모드로 변경
enforcing -> disabled 변경
esc -> 수정모드 종료
shift + ;
wq 입력 후 엔터
사용 명령어
ssh 실행
systemctl enable sshdssh 상태 확인
systemctl status sshd
sshd를 활성화하면 기본 포트는 22번으로 설정된다. 22번은 Well-Known Port이기 때문에 보안에 취약할 수 있다. 그렇기 때문에 포트를 변경해줘야 한다.
sshd를 활성화했다면 netstat(network statistics) 명령어를 통해 ssh포트가 잘 열려있는지 확인해야한다.
명령어
netstat -an | grep LISTEN
해당 명령어를 ssh의 22번 포트가 표시된다면 정상적으로 실행되고 있는 것이다.
/etc/ssh 경로에 sshd_config를 vi 명령어를 통해 포트 번호를 수정할 수 있다.
명령어
vi sshd_config
원래는 #Port 22라고 되어있으며, 주석을 해제하고 포트번호를 4444로 변경하였다.
포트 번호를 변경했다면 재시작을 해줘야 변경사항이 적용된다.
init 6를 통해 재시작 할 수 있다.
재시작 후 netstat -anp | grep 4444 명령어를 통해 포트 번호 변경이 적용되었는지 확인한다.
명령어
firewall-cmd --list-all
해당 명령어를 실행하면 다음과 같은 결과가 나온다. 초기에는 해당 붉은 색 박스가 빈칸으로 되어 있다.
명령어
firewall-cmd --permanent --add-port=4444/tcp
해당 명령어를 통해 포트를 추가 후 firewall-cmd --reload
를 입력한다. 이후 'firewall-cmd --list-all'를 재실행하면 포트가 등록된 것을 확인할 수 있다.
SSH 포트를 정상적으로 열었다면 외부 PC에서 연결을 요청하면 정상적으로 접속이 되어야 한다.
윈도우 터미널에서 ping ssh 설정된 ip주소
보냄과 받음의 개수가 같은 것을 확인할 수 있다. 이를 통해 정상적으로 연결이 가능한 것을 확인할 수 있다.
윈도우에서 telent
명령어를 통해 해당 ip와 포트에 접속이 가능한지 확인할 수 있다.
telnet ip port