이상하게도 회사에 개인 노트북을 가지고갔는데
SSH연결이 안되는것이였다... 회사에서 지급해준 노트북은 윈도우 노트북인데 너무나도 당연하게 SSH연결이 된다...요상하다....
더 신기한거는 ping은 서로 간다는것...
위 사진처럼 그냥 무작정 기다림...기다리고 또 기다림...
그러다가 시간이 지나면...
MacBook-Air:~ 사용자$ ssh root@192.168.131.188 -p 22 -vvv
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug3: kex names ok: [diffie-hellman-group1-sha1]
debug1: /etc/ssh/ssh_config line 64: Applying options for *
debug2: resolve_canonicalize: hostname 192.168.131.188 is address
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts’ → ‘/Users/사용자/.ssh/known_hosts’
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts2’ → ‘/Users/사용자/.ssh/known_hosts2’
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: ssh_connect_direct: entering
debug1: Connecting to 192.168.131.188 [192.168.131.188] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: connect to address 192.168.131.188 port 22: Operation timed out
ssh: connect to host 192.168.131.188 port 22: Operation timed out
Operation timed out이라고 하면서 그냥 시간초과로 튕겨낼뿐이였다...
온 사방팔방 구글링하면서 찾아본 결과...
해보라는 방법은 다해보았지만 효과가 없었다...
그렇다 그 이유는 방화벽 장비에서 22번 포트를 틀어막은건지 맥os와 관련된 어떠한 설정 부분만 틀어막은건지...
아예 통신이 안되는점이였다...(암만 서버실 찾아봐도 방화벽장비가 안보였는데...내가 모르는 다른곳에 방화벽을 둔거같더란...ㅡ3ㅡ)
여튼 각설하고 해결방법 이전에 필요한 준비물이 있다...
바로 서버에 열려있는 포트를 알고있을것...
그리고 원격접속으로 붙을 서버를 로컬로 붙어있을것...(ssh 포트바뀌면 접속 튕기기때문)
맥에서 brew를 통해서 nmap을 설치해주자 > brew가 설치되어있지않으면 검색해서 brew를 설치하자
그리고 나서 nmap (검색할ip)를 넣으면
열려있지만 죽어있는 포트가 나온다...
닫혀있는 포트는 filtered에 포함되서 나오질 않는다...
나는 열려있는 포트가 80번과 443번이였다
열려있는 포트가 확인됐으면
서버에 들어가서 설정을 바꿔주자
설정 바꿔주기전에 sshd서비스 중지할것!
vi /etc/ssh/sshd_config를 수정해주자
만약에 위에 경로가 없다면
ssh 관련 패키지가 설치가 안되어있을꺼다... yum으로 ssh설치해주자...
내리다보면 초반부에
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
라는 부분이 있다 그부분을 위에같이 주석해제하고 포트를 80번으로 변경해주자
그리고 그 밑에 Protocol 2를 적어주자...이부분도 주석으로 되어있는 사람이있고 아닌사람이 있는거같다...
리눅스 버전에 다르니 확인하고 없으면 넣어주시고 있으면 주석해재하고 프로토콜2로 변경해주자
그뒤에 SElinux도 중지시켜줘야한다 (사실 둘중 뭘 먼저해도 상관은없음...쓰다보니...이걸 앞에안써버려서...그냥 뒤에씀...)
들어가면 중간에 덜렁 혼자 주석처리 안된 SELINUX라고 써있는 문장있음 이거 disabled로 변경 후 저장후
setenforce 0으로 완전히 SElinux 꺼버리자
그다음에 sshd 서비스를 재시작해주자
centOS 8버전은 명령어 다르니 찾아보고 서비스 재시작해줄것
그러고나서 접속할려던 서버 접속해보자
ssh root@접속할려던ip -p 80
으로 접속하면 기깔나게 접속이 된다...
요약하자면....포트를 기존 ssh 22번포트가아닌 80번포트를 활용해서 접속했다
나는 테스트장비이기도 하고 사내 ip여서 22번포트 뚫어서 사용해도 아무런 상관이 없지만
그런게 아니고 중요한 장비이면...이방법은 비추한다...
추가적으로
접속할려는 장비가 리눅스가 아닌경우
퍼미션이 거절되어서 접속이 안되는데
이런경우에는 앞에 계정명을 붙혀서 접속을하자
위 사진처럼 계정명@접속하고자하는ip
3par인 경우에는 꼭 계정명을 붙혀주자...그냥 접속했다가 위에처럼 퍼미션 디나이떠서 몇분 삽질함...;;