ไม่สามารถ SSH ไปยัง AWS อินสแตนซ์จาก Macbook .. การหาเส้นทาง?


2

นี่คือการขับรถฉันถั่วเล็กน้อย ฉันสร้างอินสแตนซ์ AWS และฉันไม่สามารถ ssh จาก Macbook ได้ ฉันสามารถไปที่อื่นได้ ฉันสามารถ ssh จากเครื่องอื่น ๆ ในเครือข่ายเดียวกันกับอินสแตนซ์ของ AWS ดังนั้นไม่ใช่ไฟร์วอลล์ของฉันและไม่ใช่อินสแตนซ์ AWS ของฉัน

มีอะไรใน Macbook ของฉันที่อาจป้องกันไม่ให้ฉันสามารถส่งออก SSH ไปยัง IP เฉพาะหรือช่วงของ IP ได้

xxx@yyy:~/notes/Software/AWS $ tcpdump tcp port 22 &tcpdump:  verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
ssh 54.247.29.171
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~/notes/Software/AWS $ ssh 50.247.29.171
10:45:47.857206 IP 172.31.255.253.56694 > 50.247.29.171.ssh: Flags [S], seq 3668893593, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 128333370 ecr 0,sackOK,eol], length 0

มันมีลักษณะเช่นไฟร์วอลล์หรือการกำหนดเส้นทางเป็นสิ่งที่ แต่เส้นทางจะตายง่ายและซอฟต์แวร์ไฟร์วอลล์ของฉัน Macbook ถูกปิดใช้งาน ฉันจะรีบูตเร็ว ๆ นี้เพื่อทดสอบสิ่งนั้น แต่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับวิธีการทำงานของ Mac และทำไมการเชื่อมต่อนี้อาจไม่ทำงาน

จาก tcpdump คุณสามารถเห็นได้ว่ามันไม่ได้พยายามเชื่อมต่อกับ 54.247.29.171 แต่ถ้าฉันให้มันปลอม IP 50.247.29.171 อย่างน้อยก็ส่งแพ็คเก็ต

ด้านล่างคุณจะเห็นว่ามันจับเกี่ยวกับการกำหนดเส้นทางอย่างใด

xxx@yyy :~/notes/Software/AWS $ traceroute 54.247.29.171
traceroute to 54.247.29.171 (54.247.29.171), 64 hops max, 40 byte packets
traceroute: sendto: No route to host
 1 traceroute: wrote 54.247.29.171 40 chars, ret=-1
^C

แต่ไม่มีอะไรโดดออกมาที่ฉัน:

xxx@yyy :~/notes/Software/AWS $ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            172.31.255.1       UGSc           10       16     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              0    73859     lo0
169.254            link#4             UCS             0        0     en0
172.31.255/24      link#4             UCS             3        0     en0
172.31.255.1       0:e0:52:aa:bb:cc   UHLWI          12      231     en0   1176
172.31.255.18      0:26:ab:dd:ee:ff    UHLWI           0        0     en0   1182
172.31.255.253     127.0.0.1          UHS             0        0     lo0

คิด? นี่ต้องเป็นอะไรที่เรียบง่ายจริงๆ


ฉันคิดว่าอาจเป็นโปรแกรมฝนตกหนักส่ง แต่ฉันปิดใช้งานบัญชีดำเพียร์และฉันคาดหวังว่าจะใช้ ipfw หรืออะไรบางอย่าง

ไม่แน่ใจว่าจะครอบคลุมทุกอย่างหรือไม่มีวิธีอื่นในการปิดกั้นการเชื่อมต่อขาออกหรือไม่:

 $ sudo ipfw list
65535 allow ip from any to any

ปรับปรุง:

  • การรีบูตไม่สามารถแก้ไขได้
  • ภาพ VirtualBox Debian ของฉันบน Macbook ของฉันไม่สามารถเข้าถึงได้

ตามที่ขอ

$ ssh -v 54.247.29.171
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused

จากการทดสอบด้านล่างดูเหมือนว่าพอร์ต 80 ใช้งานได้ ... มีสิ่งที่บล็อกพอร์ตขาออก 22 สำหรับโฮสต์นี้โดยเฉพาะ

ฉันพบ PPload ในรายการงานมันเป็นกระบวนการของผู้พิทักษ์ ฉันลืมฉันได้ติดตั้งไว้แล้ว แต่มันจะอธิบายพฤติกรรมนี้ (แม้แต่พอร์ต 80) ฉันฆ่ามัน แต่บล็อกยังคงอยู่ในสถานที่ ฉันถอนการติดตั้งตั้งแต่นั้น แต่ฉันยังไม่ต้องรีบูต (ฉันฝนตกหนัก Libreoffice และไม่ต้องการได้รับการแจ้งลบออก :-))

ชาวสวนสามารถทำการบล็อกได้อย่างไร? ใน Linux มันไม่ง่ายเลยที่จะเห็นกฎไฟร์วอลล์ทั้งหมดเป็น "รายการ ipfw" มันจะพลาดตารางเช่นการกำหนดเส้นทางล่วงหน้าเป็นต้นมี 'tables' อื่น ๆ หรือเทียบเท่าใน MacOS หรือไม่

xxx@yyy:~ $ tcpdump host 54.247.29.171&
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
xxx@yyy:~ $ ssh -v 54.247.29.171&
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~ $ telnet 54.247.29.171 22
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ telnet 54.247.29.171 80
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ 09:09:35.738770 IP 172.31.255.11.49874 > ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http: Flags [S], seq 3011923576, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 573636510 ecr 0,sackOK,eol], length 0
09:09:35.841506 IP ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http > 172.31.255.11.49874: Flags [R.], seq 0, ack 3011923577, win 0, length 0

2
ฉันเพิ่งลอง ssh ไปที่ 54.247.29.171 และได้รับพรอมต์รหัสผ่านเพื่อให้ฉันสามารถยืนยันได้ว่าอินสแตนซ์ของคุณพร้อมใช้งานนอก EC2 ให้ฉันอย่างน้อย คุณสามารถตรวจสอบการตั้งค่ากลุ่มความปลอดภัยในคอนโซล AWS ของคุณและตรวจสอบให้แน่ใจว่าคุณไม่ได้ขึ้นบัญชีดำ IP สาธารณะของคุณโดยใช้ MacBook ของฉันหรือไม่
— เอียน C.

My Macbook ใช้ IP สาธารณะเดียวกับเครื่อง Windows ของฉันและเครื่อง Linux ดังนั้นจึงไม่ควรเป็นปัญหาของ IP สาธารณะ ฉันควรเห็นแพ็คเก็ตออกไปที่พอร์ต 22 ต่อไป ... ไม่มีอะไรเหลืออยู่ที่ Macbook เมื่อฉันพยายามเชื่อมต่อกับที่อยู่นั้น มันทำให้งงงันเพราะฉันไม่สามารถจินตนาการได้ว่าทำไม Macbook จะเลือกเกี่ยวกับเรื่องนี้
— mgjk

คุณทำอะไรdig 54.247.29.171 anyและnslookup 54.247.29.171ส่งคืนให้คุณบ้าง? ฉันได้รับ: gist.github.com/2998601
— Ian C.

ขุดและ nslookup มาคล้ายกัน ฉันไม่แน่ใจว่าทำไมพวกเขาถึงมีความสำคัญ สิ่งที่เกี่ยวกับ ssh ใน MacOS ฉันไม่รู้เกี่ยวกับ (?)
— mgjk

คุณสามารถให้ผลลัพธ์ของคำสั่งต่อไปนี้ ssh -v 54.247.29.171
— Kevin Willock

คำตอบ:


0

Elastic IP ยังคงผูกกับอินสแตนซ์ของคุณหรือไม่ ภายใต้สถานการณ์บางอย่างมันจะถูกยกเลิกการเชื่อมโยงจากอินสแตนซ์ (แต่ไม่ออก)


ในกรณีนั้นฉันไม่ควรจะสามารถเข้าใช้งานได้ แต่ฉันสามารถขอรหัสผ่านให้ใช้งานได้
— Ian C.

อาจมีการเปิดตัว IP และตอนนี้ได้รับมอบหมายให้เป็นอินสแตนซ์ใหม่ ฉันยอมรับว่าไม่น่าเป็นเพราะมีพอร์ตที่เข้าถึงได้มากกว่าพอร์ต ssh มาตรฐานของ AWS
— Carsten

0

ppload ในรายการงานเป็นกระบวนการสำหรับ Peerguardian แม้ว่าการฆ่าจะไม่ได้ผล แต่การถอนการติดตั้งแอปและการรีบูตก็ใช้งานได้

ฉันยังต้องการทราบว่า Peerguardian ใช้อะไรในระบบเพื่อบล็อกการเชื่อมต่อ แต่ก็ไม่สำคัญ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.