Network

CentOS7로 SSH연결 및 완료시키기

중대경 2023. 4. 8. 21:52

오늘 이 시간은 네트워크 개념을 적용시켜보려한다. 지난시간동안 꽤나 네트워크 공부를 하지못한 부분도 있었고

각종 이슈들을 공유하면 좋을 것 같아 기록으로 남겨보려한다.

 

우선 CentOS7(Community Enterprise Operating System)는 우분투와 같은 운영체제의 한 개념이다. Virutal Machine이라는

서버를 생성하여 그 안에서 운영체제가 돌아가는 형태이다. 우리가 많이 사용하는 윈도우 기반의 운영체제라고 말들을 하게되는데

그것은 종류가 있으며 윈도우, 리눅스, OS기반의 운영체제가 존재한다.라고 말을 하게된다.

 

그중에서 리눅스 기반 운영체제를 사용하여 다른서버의 작업을 편리하게 옮길수 있는 작업을 하면 이해가 쉽다.

 

요약하자면 다음과 같다

- CentOS기반 SSH 설정 및 포트 변경

- Putty를 사용하여 CentOS기반의 환경과 기존 로컬환경의 연결

- 이더넷의 추가변경 ex) 이더넷1 -> 이더넷2(CentOS기반) 

 

우선, CentOS기반을 사용하기 위해서는 VM이라는 Virtual Machine이라는 툴이 다운로드 되어있어야한다.

설치가 다되어 서버를 생성하였다면 몇가지 조건의 형식을 맞추어 설정을 해야된다.

 

sshd가 설치되어 있는지 자신이 구축한 리눅스 서버에서 확인해야한다

[root@localhost]# which sshd

->위처럼 입력하면 경로가 나온다.

만약 설치되지 않았다면 아래와 같이 입력한다.

yum install openssh-server

 

[root@localhost]# vi/ etc/ssh/sshd_config

#Port 22 이 부분을 주석처리를 지우고, 하고자하는 포트번호를 수정해주면 된다.

 

more /etc/ssh/sshd_config /입력사항 확인

변경 완료 후,

systemctl restart sshd.service

혹시나 에러사항 발생 시,

semanage port -l | grep ssh

여기에 만약 아무것도 뜨지않는다면, Port번호를 잘 설정해주었는지 확인해주는 과정이 꼭 필요하다.

필자의 경우 번호를 잘 설정해주지 못하여 에러메세지가 뜨곤하였다

 

문제는 총 두가지이다. 포트번호 확인, Job for ssh.service faile beacause the control process exited with error code

두가지 경우의 수를 참고해야한다. 두번째 문제인 경우 레퍼런스를 참조하였으니 확인해보면 된다.

https://chunggaeguri.tistory.com/entry/CentOS-7-%EC%97%90%EB%9F%AC-Job-for-sshdservice-failed-because

 

[ CentOS 7 ] 에러 - Job for sshd.service failed because ...

문제발생 상황 ssh 포트번호 변경을 적용한 이후 systemctl restart sshd 위의 명령어를 사용했을 때 Job for sshd.service failed because.. 에러메시지가 발생함 문제 원인 selinux가 active 되어 있었기 때문 해결방

chunggaeguri.tistory.com

 

 

 

다음으로 방화벽 재가동을 시키기 위해 아래와 같은 코드를 입력한다.

systemctl start firewalld
firewall-cmd –-reload

 

systemctl restart sshd.service

 

 

firewall-cmd --list-all을 입력하면 자신이 설정한 포트번호가 붙는것을 확인할 수 있다.

 

자, 여기까지는 해결을 했지만 여전히 putty에 붙질 않는 경우가 있다.

 

본인의 컴퓨터 계정(Host), 본인이 만든 가상서버 계정(Guest)의 포트 포워딩을 시켜주는 작업이 필요하다.

 

 

 

포트포워딩이란?


포트 포워딩 또는 포트 매핑은 컴퓨터 네트워크에서 패킷이 라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환의 응용이다

 

나는 "A"라는 컴퓨터를 쓰고 있는데, "B"에 연결하고 싶어 근데 연결을 해주고 싶은데 어떻게 해야하지?

일종의 네트워크 방식(포트포워딩)을 통해 넘겨줘야지 하는 개념이다.

물론, Port번호는 호스트와 게스트의 설정 포트값이 동일해야한다.

 

AWS(아마존 웹서비스)로 따지면 인바운드, 아웃바운드 규칙이다. 이것과 동일한데

필자는 이 부분에서 게스트와 호스트의 바운드 규칙차이 부분에서 이슈 발생이 꽤나 있었다.

어떻게 문제를 해결했는지 공유하고자 한다.

 

처음엔 Connection time out이 발생하였다.

https://suzxc2468.tistory.com/155

 

Putty - Connection timed out 해결

(현재)뉴비때 다른 블로그에 작성했던 삽질의 흔적이다. 지금보면 엉성하기 짝이 없지만, 여전히 누군가에겐 솔루션이 될 수 있을거란 생각에 포워딩 해온다. 만들었던 웹 프로그램을 리눅스 서

suzxc2468.tistory.com

 

이 문제는 서버로 응답을 요청해서 요청을 받은 서버가 클라이언트에게 전달해주어야하는데

Response하는 과정에서 시간요청이 나온에러이다. 원인은 여러가지이지만 갈피를 잡지못하였다.

 

네트워크 형식에서, 이더넷은 두개의 컴퓨터가 통신할 수 있도록 라우터역할을 하는 것인데 필자는

2가 아닌 이더넷으로 포트포워딩을 하려고 하였다.

 

그러니 Port는 어떻게든 일치를 시켰지만 어댑터 이더넷의 숫자변경 차이에따라

포트포워딩이 timeout이 되느냐 되지않느냐 그 차이를 배우게 되었다

네트워크 또한 호스트 전용 어댑터로 변경해야하며,

DHCP서버 또한 사용됨을 유지하여한다.

간혹가다 이더넷을 새롭게 만들기 위해 서버주소를 변경하는 경우가 있다.

그 정도과정은 조금은 더 복잡하니 추후에 설정을 해 줄 수 있도록한다.

 

그리하여 설정을 마친 포트포워딩을 이제 Putty를 이용하여 접속하여 들어가보면 아까 Connection : Timed out나던 Putty가

아래와 같이 리눅스서버 계정으로 접속이 잘 된것을 확인할 수 있다.

 

 

 

마무리하면서..


꽤나 시간이 걸렸었다.

네트워크의 개념은 물론 정확한 구성이 어떻게 흘러가야 포트포워딩의 위치도 알맞게 적용시킬 수 있었다.

본인이 연결을 시키며 진행됬던것은 Port번호의 일치와 인바운드 아웃바운드 개념의 규칙을 이해해야지만 적용을 할 수 있다.

물론 저 위의 과정들은 한번에 된것은 아니다.

 

하지만 이 글을 읽는 독자들은 시간낭비를 하지않고 한번에 해결했으면 좋겠다는 바람에서 적어보았다. 지금까지 가상서버를 만들어 로컬서버와 연결시켜 Putty로 가상서버를 접속하는 과정을 알아보았다.

 

 

참조 레퍼런스

https://kim-yj-0308.tistory.com/3

 

CentOS 7에서 SSH접속 허용하기

리눅스 서버에 접속하여 사용할 수 있게 하기 위해서는 우선 SSH 접속을 허용시켜줘야 합니다. CentOS 7 컴퓨터에서 터미널을 켠 다음 root로 들어가 실행을 실행해야합니다. 우선 sshd가 설치되어있

kim-yj-0308.tistory.com

https://chunggaeguri.tistory.com/entry/CentOS-7-%EC%97%90%EB%9F%AC-Job-for-sshdservice-failed-because

 

[ CentOS 7 ] 에러 - Job for sshd.service failed because ...

문제발생 상황 ssh 포트번호 변경을 적용한 이후 systemctl restart sshd 위의 명령어를 사용했을 때 Job for sshd.service failed because.. 에러메시지가 발생함 문제 원인 selinux가 active 되어 있었기 때문 해결방

chunggaeguri.tistory.com

https://hapajay.tistory.com/82

 

[Linux] CentOS 7 방화벽 설정 (추가,삭제,해제)

안녕하세요~~~ 하파제이 입니다😊 오늘은 CentOS 7 버전에서 방화벽 설정하는 것에 대해 공유하고자 합니다 😎 내용을 간략하게 준비해보았으니 스크롤 내릴 준비만 하시면 됩니다 😁 1. 현재 방

hapajay.tistory.com