Có thể SSH truy cập máy chủ với mạng con được định cấu hình sai không?


18

Chúng tôi có một máy chủ nơi một trong số các kỹ sư của chúng tôi định cấu hình sai mạng con và bây giờ chúng tôi bị khóa khỏi máy chủ này và quyền truy cập duy nhất mà tôi biết sẽ hoạt động là một bàn điều khiển nối tiếp từ IDC (có nghĩa là yêu cầu một kỹ sư IDC giúp chúng tôi điều này) .

Những gì đã được cấu hình sai:

address 192.168.1.9 # Original address there was
netmask 255.255.255.254 # Misconfigured, originally should've been .240

Vì tò mò - có cách nào để tránh gọi IDC và bằng cách nào đó kết nối với máy chủ này qua SSH (sau đó chúng tôi có thể sửa cấu hình) không?

Câu trả lời:


25

Bạn cần có thể đăng nhập vào một máy chủ khác trên cùng phân khúc mạng. Một số cách để có quyền truy cập vào máy chủ được định cấu hình sai yêu cầu root trên máy chủ trung gian, nhưng cũng có một cách dễ dàng để có quyền truy cập mà không cần root trên máy chủ trung gian.

Cách dễ dàng để truy cập máy chủ bằng IPv6

ssh -o ProxyCommand='ssh -W [fe80::42:ff:fe:42%%eth0]:%p user@intermediate-host' root@target-server

Các giá trị ví dụ sau đây cần lệnh trên để được thay thế bằng các giá trị chính xác cho trường hợp sử dụng của bạn: fe80::42:ff:fe:42, eth0, user, intermediate-host, và target-server.

Giải thích chi tiết về cách thức hoạt động

ProxyCommandlà một tính năng ssh để sử dụng khi bạn không thể mở kết nối TCP trực tiếp đến máy chủ đích. Đối số ProxyCommandlà một lệnh có stdin / stdout sử dụng thay vì kết nối TCP.

-Wđược sử dụng để mở một cổng chuyển tiếp duy nhất và kết nối nó với stdin / stdout. Điều này phù hợp độc đáo với ProxyCommand.

fe80::42:ff:fe:42%%eth0là địa chỉ liên kết cục bộ của máy chủ đích. Lưu ý rằng do ProxyCommandsử dụng %làm ký tự thoát, lệnh ssh đã nhập phải sử dụng %%ở vị trí đó. Bạn có thể tìm thấy tất cả các địa chỉ liên kết cục bộ trên phân khúc bằng cách chạy ssh user@intermediate-host ping6 -nc2 ff02::1%eth0.

Sử dụng địa chỉ liên kết cục bộ IPv6 cho mục đích này thường là cách dễ nhất vì nó được bật theo mặc định trên tất cả các hệ thống hiện đại và địa chỉ liên kết cục bộ vẫn hoạt động ngay cả khi cả hai ngăn xếp IPv4 và IPv6 bị định cấu hình nghiêm trọng.

Trở lại với IPv4

Nếu IPv6 bị vô hiệu hóa hoàn toàn trên máy chủ bị định cấu hình sai (hoàn toàn không được khuyến nghị), thì bạn có thể phải sử dụng IPv4. Vì IPv4 không có địa chỉ liên kết cục bộ nên cách thức truy cập máy chủ bị định cấu hình sai bằng cách sử dụng IPv4 trở nên phức tạp hơn và cần quyền truy cập root trên máy chủ trung gian.

Nếu máy chủ bị định cấu hình sai vẫn có thể sử dụng cổng mặc định của nó, bạn có thể truy cập nó từ bên ngoài. Có thể netmask bị định cấu hình sai cũng đã phá vỡ cổng mặc định do ngăn xếp từ chối sử dụng một cổng bên ngoài tiền tố được bao phủ bởi netmask. Nếu đây thực sự là trường hợp, máy chủ bị định cấu hình sai sẽ chỉ có thể giao tiếp với 192.168.1.8 vì đó là địa chỉ IP khác trong mạng con hiện có thể truy cập được đối với máy chủ bị định cấu hình sai này.

Nếu bạn có thông tin đăng nhập vào 192.168.1.8, bạn có thể chỉ cần ssh từ đó đến 192.168.1.9. Nếu 192.168.1.8 hiện chưa được gán, bạn có thể tạm thời gán nó cho bất kỳ máy chủ lưu trữ nào trên phân khúc mà bạn có quyền truy cập root.


fe80::42:ff:fe:42địa chỉ của ...? máy chủ cấu hình sai của tôi, tôi đoán?
Alexey Kamenskiy

@AlexKey Có, nó cần được thay thế bằng địa chỉ IPv6 liên kết cục bộ của máy chủ bị định cấu hình sai.
kasperd

1
Bất kỳ ví dụ nào với việc truy cập qua IPv4 (trong trường hợp IPv6 bị tắt)?
Alexey Kamenskiy

@AlexKey Trong trường hợp IPv6 bị vô hiệu hóa, tôi nghĩ rằng bạn phải trải qua 192.168.1.8 vì nó dường như là IP duy nhất khác bên dưới tiền tố được cấu hình.
kasperd

1
@Lenniey rõ ràng vì lý do như câu hỏi này (ít nhất).
Alexey Kamenskiy

9

kasperdđã đăng một câu trả lời tuyệt vời đủ chi tiết để tôi tìm hiểu làm thế nào tôi có thể phục hồi sau tình huống trong câu hỏi. Câu trả lời này là chính xác từng bước về cách tôi đã làm nó.

  1. SSH đến máy chủ trên cùng một mạng vật lý
  2. Sử dụng arp -ahoặc ip neighbor listroottìm địa chỉ MAC của máy chủ cấu hình sai.
  3. Sử dụng MAC để chuyển đổi liên kết cục bộ tìm liên kết cục bộ cho máy chủ bị định cấu hình sai
  4. Bây giờ có thể SSH đến máy chủ như bất kỳ người dùng nào thông qua ssh user@link-local%dev:
    • người dùng - tên người dùng mà chúng tôi được phép SSH
    • link-local - địa chỉ IPv6 tự gán được phục hồi trong bước 3
    • dev là giao diện vật lý mà máy chủ này có thể truy cập từ (ví dụ eth0)

2

Bạn cần tải một địa chỉ IP trong mạng con được cấu hình của mục tiêu của bạn, không chỉ trong phạm vi mà bạn thực sự muốn.

Nếu bạn gửi một gói đến 10.0.0.2 với mạng con 255.255.255.248 từ, ví dụ, 10.0.0.220, 10.0.0.2 sẽ xem xét mặt nạ mạng con của nó để tìm ra cách trả lời. Vì 0,22 là WAAY ra khỏi mạng con 255.255.255.248, .2 phải gửi trả lời đến cổng mặc định thay thế.

Vì vậy, nếu bạn có thể tải một địa chỉ IP trong cùng mạng con như .2, vd. 10.0.0.3, sau đó nó sẽ hoạt động.

Trong trường hợp cụ thể của bạn, đối với 10.0.0.9, mạng con 255.255.255.254 chỉ có 1 địa chỉ IP bổ sung , cụ thể là 10.0.0.8. Vì vậy, nếu bạn có thể tải địa chỉ IP đó, bạn sẽ có thể SSH.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.