ไม่สามารถ 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.