카테고리 없음

서버간 파일 이동 시 방화벽 문제

YHP 2021. 8. 2. 12:48

새로 구축된 GPU(CentOS 7.*)로 기존 서버에 있는 파일 좀 옮기려고 했더니 

 

ssh: connect to host **.***.*.** port 22: Connection timed out
lost connection

 

이렇게 에러메시지가 발생하면서 자료 이동이 불가능했다.

 

이거 해결하려고 주말 밤에 시간 좀 썼는데 결국 해결을 못했다.

메일 보내서 답장 받고 알고보니 회사 정책상 ssh 22 포트는 차단되어있단다.

 

ㅠ-ㅠ...

 

특정 포트를 추가해줘야 하는데 예를 들어 1234라고 하겠다.

포트를 추가해주기 위해서 

 

#vi /etc/ssh/sshd_config

 

열어서

새로운 포트번호를 추가해주자.

 

Port 1234

 

저장한 뒤 나와서

# service sshd restart

 

그러면 에러 메시지가 발생한다.

 

Redirecting to /bin/systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code. See "systemctl shd.service" and "journalctl -xe" for details.

 

# journalctl -xe

에러 메시지를 자세히 출력해본다.

 

-- Unit sshd.service has finished shutting down.
Aug 02 20:29:03 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
-- Subject: Unit sshd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sshd.service has begun starting up.
Aug 02 20:29:03 localhost.localdomain sshd[65236]: error: Bind to port 1234 on 0.0.0.0 failed:
Aug 02 20:29:03 localhost.localdomain sshd[65236]: fatal: Cannot bind any address.
Aug 02 20:29:03 localhost.localdomain systemd[1]: sshd.service: main process exited, code=exite
Aug 02 20:29:03 localhost.localdomain systemd[1]: Failed to start OpenSSH server daemon.
-- Subject: Unit sshd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sshd.service has failed.
--
-- The result is failed.

 

그래서 찾아보니까 다음과 같이 해결해주면 된다.

출처: https://2734.tistory.com/25

 

ssh / port 수정

sshd port 수정 [CentOS 6.x] vi /etc/ssh/sshd_config Port 포트번호 service sshd restart 방화벽 해당port추가 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 포트번호 -j..

2734.tistory.com

 

# setenforce 0

 

# getenforce

Permissive 라고 메시지 발생

 

# service sshd restart

Redirecting to /bin/systemctl restart sshd.service 라고 메시지 발생

 

# setneforce 1

 

방화벽 해당 port 추가하자

# firewall-cmd --permanent --zone=public --add-port=1234/tcp

 

그리고 방화벽 재시작하자.

# firewall-cmd --reload

 

커맨드 라인 상에서 방화벽 추가해준 설정은 

# vi /etc/firewalld/zones/public.xml

에 다 저장되어있다. 

 

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <source address="12.34.5.678"/>
  <source address="12.34.5.67"/>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <port protocol="tcp" port="1234"/>
</zone>

port 1234가 추가되어있는 것을 확인할 수 있다.

source address는 내가 이것저것 만지다가 저장된 것이다.

회사 내부 아이피니까 그냥 두어도 크게 상관 없을거라 생각되어서 그냥 두었다.

 

파일 이동해줄때 추가해준 포트로 이동시켜주자.

 

$ scp -P 1234 test.py 12.345.6.78:/home

 

GPU 머신 하나 쓰기가 이렇게 힘들다 ㅠ

 

참고로 이렇게 포트 변경하고 나면 원격 접속 프로그램으로 다시 접속 할 때 포트 번호 바꾸어서 접속 해야한다.

 

추가로 도움 많이 받은 블로그 주소 하나 링크 적어둔다.

https://uxgjs.tistory.com/162

 

리눅스(CentOS7) 서버에 방화벽(firewall)을 활용하여 특정 IP만 접근하게 하는 방법

회사 내부용으로 리눅스 서버로 돌릴 경우 특정사용자만 해당 서버에 접근 하도록 해야 할 필요가 있습니다. 여러가지 방법이 있겠지만 가장 간단한 방법은 방화벽으로 특정 IP외에는 모두 막아

ux.stories.pe.kr

https://www.lesstif.com/system-admin/rhel-centos-firewall-22053128.html

 

RHEL/CentOS 에서 방화벽(firewall) 설정하기

포트 추가/변경, IP 추가/변경는 --reload 옵션을 실행해야 반영됨.

www.lesstif.com

http://blog.plura.io/?p=4519 

 

CentOS 방화벽 사용방법

CentOS 5, 6 iptables 사용방법 CentOS 7 firewall 사용방법 CentOS 7 iptables 사용방법     iptables 사용방법   기본적으로 설치된 iptables를 사용하여 설정을 합니다. - 기본 SSH 인 22번 포트만 허용된 상태입니

blog.plura.io