방금 DigitalOcean에서 새 서버를 구성했습니다. SSH 포트를 22에서 2202로 변경하는 것 외에는 서버의 네트워킹 구성에서 아무 것도 변경하지 않은 것 같은데 갑자기 서버에 SSH로 연결할 수 없습니다. 처음에는 포트 2202에서 SSH를 사용하여 몇 번 로그인할 수 있었습니다.
이 질문에 대해 더 나은 StackExchange가 있는지 알려주십시오.
$ ssh -p 2202 [email protected]
ssh: connect to host 159.89.x.x port 2202: No route to host
서버에 핑을 보낼 수 있어요
$ ping 159.89.x.x
PING 159.89.x.x (159.89.x.x) 56(84) bytes of data.
64 bytes from 159.89.x.x: icmp_seq=1 ttl=56 time=30.0 ms
64 bytes from 159.89.x.x: icmp_seq=2 ttl=56 time=29.7 ms
64 bytes from 159.89.x.x: icmp_seq=3 ttl=56 time=29.9 ms
--- 159.89.x.x ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 29.756/29.932/30.083/0.134 ms
이더넷 연결을 제외한 모든 네트워크 구성을 껐습니다.
$ ifconfig
eth0 Link encap:Ethernet HWaddr 90:2b:34:d6:e1:d5
inet addr:192.168.0.8 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::737e:c4b0:f37c:ab45/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7449 errors:0 dropped:0 overruns:0 frame:0
TX packets:139088 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6762469 (6.7 MB) TX bytes:9333612 (9.3 MB)
Interrupt:18
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1180 errors:0 dropped:0 overruns:0 frame:0
TX packets:1180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:109431 (109.4 KB) TX bytes:109431 (109.4 KB)
여기 추적 경로가 있습니다
$ traceroute 159.89.x.x
traceroute to 159.89.x.x (159.89.x.x), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 0.455 ms 0.613 ms 0.802 ms
2 hlrn-dsl-gw09.hlrn.qwest.net (207.225.x.x) 3.641 ms 3.833 ms 4.532 ms
3 hlrn-agw1.inet.qwest.net (71.217.x.x) 4.763 ms 4.733 ms 4.734 ms
4 dvr3-brdr-01.inet.qwest.net (208.168.x.x) 4.911 ms 5.347 ms 5.131 ms
5 den-b1-link.telia.net (213.248.93.94) 5.336 ms 5.327 ms 5.764 ms
6 sjo-b21-link.telia.net (213.155.133.171) 33.313 ms 29.887 ms 29.980 ms
7 digitalocean-ic-318773-sjo-b21.c.telia.net (62.115.149.7) 29.570 ms digitalocean-ic-306499-sjo-b21.c.telia.net (62.115.45.22) 30.931 ms 30.938 ms
8 159.89.x.x (159.89.x.x) 29.617 ms !X 29.838 ms !X 29.614 ms !X
다음은 내용입니다 nmap
(나는 nmap을 효과적으로 사용하는 방법에 대해 꽤 익숙하지 않습니다).
$ nmap 159.89.x.x
Starting Nmap 7.01 ( https://nmap.org ) at 2018-03-20 09:34 MDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.08 seconds
그리고
$ nmap -Pn 159.89.x.x
Starting Nmap 7.01 ( https://nmap.org ) at 2018-03-20 09:35 MDT
Nmap scan report for 159.89.x.x
Host is up (0.59s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
22/tcp closed ssh
그리고
$ nmap -Pn 159.89.x.x -p 2202
Starting Nmap 7.01 ( https://nmap.org ) at 2018-03-20 12:56 MDT
Nmap scan report for 159.89.x.x
Host is up (0.036s latency).
PORT STATE SERVICE
2202/tcp filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
DigitalOcean 콘솔(현재 시스템에 액세스할 수 있는 유일한 방법)에서 핑 8.8.8.8
도 curl -vL google.com
성공적으로 수행할 수 있습니다.
또한 DO 콘솔에서,
(myserver)$ ip route
default via 159.89.128.1 dev eth0
10.46.0.0/16 dev eth0 proto kernel scope link src 10.46.0.5
159.89.128.0/20 dev eth0 proto kernel scope link src 159.89.x.x
DO 콘솔에서 복사/붙여넣기를 할 수 없기 때문에 다음 이미지는 다음과 같습니다.sudo iptables -nvL INPUT
답변1
방화벽에서 포트를 여는 것을 잊었습니다. 예를 들어 Firewalld를 사용하고 있으므로 그렇게 해야 합니다.
firewall-cmd --add-port=2202/tcp
일단 작동되면,영구적으로 만들다.
답변2
iptables
충돌 차단 포트 가 있는 것 같습니다 2202
. 액세스 권한을 다시 얻을 수 있는지 확인하려면 다음 프로세스를 테스트해 보세요.
iptables-save > ~/iptables.save
iptables -F
그런 다음 포트에서 SSH를 다시 시도하십시오 2202
. 이것이 작동하면 방화벽 규칙을 조정해야 하며, 작동하지 않으면 Digital Ocean 방화벽과 충돌하지 않는지 확인해야 합니다.
규칙을 복원하려면 다음을 실행합니다.
iptables-restore < ~/iptables.save