Máy chủ SSH (và SFTP) trên Android có thể khám phá thông qua avahi / bonjour


16

Tôi muốn thiết bị Android của mình (Samsung Galaxy) có thể được phát hiện thông qua avahi / bonjour khi được kết nối với mạng WiFi và sau đó có thể truy cập hệ thống tệp của nó thông qua SSH (SFTP).

Đối với tôi, đó là cách quen thuộc và thuận tiện để truy cập các thiết bị khác nhau trong mạng cục bộ của tôi: khám phá dịch vụ SSh của họ qua avahi / bonjour (không phải xử lý địa chỉ IP) và ssh cho họ. Tôi sẽ sử dụng cách này cho các hệ thống GNU / Linux của mình (như Ubuntu).

Có phần mềm miễn phí (= libre - vì tôi đánh giá cao sự tự do hack) cho Android sẽ thực hiện việc này, cụ thể là:

  • avahi / bonjour hỗ trợ cho Android, để thiết bị Android có thể truy cập bằng tên trong miền .local (thay vì chỉ bằng địa chỉ IP của nó);
  • và một máy chủ SSH có hỗ trợ xuất bản thông qua Avahi / bonjour (mdnssd).

Cũng mong muốn tương tự - android.stackexchange.com/questions/20907/ trộm : để ssh lên Android không phải bằng IP của nó, mà là tên có được thông qua zeroconf / bonjour / avahi / mdns (bất cứ điều gì bạn gọi nó). Sẽ tốt hơn nữa nếu dịch vụ SSH sẽ được xuất bản qua zeroconf / bonjour / avahi / mdns / dnssd (bất cứ điều gì bạn gọi nó).
imz - Ivan Zakharyaschev

Về phần SSH của điều ước, đã có Q & As: android.stackexchange.com/questions/9905/ ,, android.stackexchange.com/questions/15503/ . (Mặc dù tôi sẽ phải tìm hiểu xem các giải pháp được đề xuất có phải là phần mềm miễn phí / miễn phí hay không - để trả lời câu hỏi của tôi.) Phần hỗ trợ avahi / bonjour / zeroconf của câu hỏi của tôi không có câu trả lời mặc dù ...
imz - Ivan Zakharyaschev

2
Tôi biết nó không giống nhau, nhưng trong khi tìm kiếm "giải pháp cuối cùng": Tôi đã khuyên DHCP bộ định tuyến của mình chỉ định cho các thiết bị một IP tĩnh, sau đó định cấu hình nó với DNS cục bộ của tôi (bạn cũng có thể thực hiện thông qua /etc/hosts). Vì vậy, tôi không cần phải nhớ IP, nhưng các thiết bị "tên nick", khá dễ so sánh.
Izzy

@Izzy: Tôi thấy, cảm ơn, đó là một cách giải quyết rất hợp lý. Nhưng thật không may, trong trường hợp của tôi, dường như tôi có (với tư cách là bộ định tuyến) một cơ sở Sân bay Extreme Extreme không hỗ trợ "đặt chỗ DHCP" . Ngoài ra, thật tuyệt khi có thể kết nối với thiết bị bằng một "biệt danh" trong tình huống khi tôi là "khách" (trong một mạng không được cấu hình bởi tôi).
imz - Ivan Zakharyaschev

2
Chắc chắn, điều đó đã được hiểu ngay từ đầu - đó là lý do tại sao tôi nghĩ rằng đó là một công việc xung quanh cho đến khi bạn tìm thấy một giải pháp thực sự. Có những ứng dụng cho phép bạn định cấu hình "IP cố định theo yêu cầu / theo mạng" (trái ngược với "DHCP cố định"), thậm chí sẽ hoạt động với cơ sở sân bay cực đoan của bạn. Nếu bạn quan tâm, tôi có thể tóm tắt và đặt câu trả lời (cùng với nhận xét trên của tôi).
Izzy

Câu trả lời:


2

Tôi đã sử dụng SSHelper miễn phí (không cần root) vì gần đây nó đã thêm phát sóng zeroConf. Nó cung cấp một máy chủ SSH và RSYNC (truyền tệp), đồng thời phát tên ZeroConf. Một ứng dụng khách avahi / bonjour khác có thể kết nối mà không cần biết tên máy chủ Android. Giải thích chi tiết hơn trong câu trả lời khác này: Đặt tên máy chủ cho SSHelper


Cảm ơn rất nhiều cho các thông tin! Bây giờ ít nhất tôi biết một khả năng để thiết lập điều này. Tôi thích sử dụng phần mềm miễn phí (= libre, mã nguồn mở). Tôi có nên xem xét SSHelper không? .. (Tôi chưa biết liệu đó có phải là phần mềm miễn phí không.)
imz - Ivan Zakharyaschev

@glenschler Xin chào, tôi vừa thử SSHelper nhưng tôi chưa tìm ra cách kết nối o ssh bằng tên. Tôi đã kiểm tra mã nguồn và dường như nó sử dụng "SSHelper" làm tên zeroconf, nhưng tôi không thể kết nối với nó như vậy : ssh SSHelper:2222. Bất kỳ gợi ý / lời khuyên? Cảm ơn
George Profenza

@ george-profenza Tôi không biết mã nguồn có sẵn. Tôi sẽ cần điều tra. Bạn nên duyệt mạng của mình để biết tất cả các tên "avahi". Điều này sẽ khác với máy mac hoặc linux của bạn. android.stackexchange.com/questions/42353/ từ
glenschler

@glenschler Tôi đã sử dụng avahi trên Raspberry Pi và sau khi cài đặt, tôi có thể truy cập pi của mình dưới dạng rpi.local. Trên windows tôi phải cài đặt dịch vụ bonjour. Tôi đã thử truy cập ssh / http bằng tên máy chủ SSHelper (mà tôi có thể thấy được liệt kê trên máy mac đang chạy dns-sd -B) nhưng tôi không thể kết nối với nó. Làm cách nào để bạn kết nối với điện thoại của mình theo tên (bạn sử dụng tên nào) với SSHelper?
George Profenza

Có một phiên bản 5.5 mới của SSHelper. Vâng, để trả lời câu hỏi trước, nó là phần mềm miễn phí. Bây giờ bạn có thể cấu hình một tên tùy chỉnh! Hướng dẫn của tôi được trình bày chi tiết tại đây android.stackexchange.com/questions/42353/ từ
glenschler
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.