2013-09-22 97 views
22

Vì vậy, tôi đã cọ rửa internet trong nhiều ngày cố gắng tìm ra điều này và không thể tìm ra.Làm thế nào để truy cập máy chủ SSH SSH của tôi từ bên ngoài mạng gia đình của tôi

Tôi biết nó sẽ trở nên dễ dàng.

Vì vậy, gần đây tôi đã dùng một máy tính để bàn cũ và máy chủ ubuntu tải 12.04 trên đó. Mục tiêu của tôi với dự án này là tạo ra một khu vực để lưu trữ một vài kho lưu trữ git và có thể là một trang web đơn giản.

Tôi đã cài đặt cả gói SSH và Apache2 và đã cố định cấu hình chúng. Ngay bây giờ tôi có thể đăng nhập từ máy tính xách tay của tôi bằng cách sử dụng ssh [email protected] nhưng chỉ khi tôi ở trên cùng một mạng. Khi tôi rời khỏi nhà, tôi nhận được một lỗi thời gian chờ.

Vì vậy, 2 điều tôi muốn nhận ngay bây giờ.

  1. Cách định cấu hình SSH để cho phép tôi truy cập máy chủ từ bên ngoài mạng.
  2. Nhận tên máy chủ của tôi trên máy chủ để đăng nhập sẽ greg @ hostname thay vì [email protected]

    (tôi đã thực hiện sudo hostname và thay đổi etc/hostname và không có kết quả)

Xin cảm ơn các bạn.

+0

Bạn cần mở cổng 22 và 80 thông qua bộ định tuyến của mình (mặc dù tôi khuyên bạn nên thay đổi cổng bạn đang sử dụng cho SSH thành một thứ không chuẩn). Việc truy cập từ bên ngoài sẽ dễ dàng hơn nếu bạn thiết lập một mục nhập DNS cho nó. Cả hai điều này đều không có chủ đề cho SO.Hãy thử yêu cầu [su] –

+0

offtopic tại đây, nhưng đảm bảo máy tính của bạn có cổng truy cập (có thể bị chặn bởi bộ định tuyến/tường lửa/v.v.) sau đó sử dụng địa chỉ IP bên ngoài của máy chủ, –

+0

Xin lỗi các bạn, tôi đã đăng lại nó trên người dùng siêu. cảm ơn cho các thông tin phản hồi – Greg

Trả lời

7

Thời gian chờ bên ngoài mạng gia đình của bạn xảy ra do IP bạn chỉ định sẽ được định tuyến ở nơi khác trên mạng bên ngoài.

Như những người khác đã chỉ ra, bạn cần định cấu hình chuyển tiếp cổng trên bộ định tuyến (giao diện bên ngoài) của bạn tới máy chủ SSH. Bạn có thể sử dụng cổng chuẩn (22) hoặc bất kỳ cổng thay thế nào (cái gì đó trên 1024). Đối với máy chủ web, bạn sẽ cần phải đặt cổng chuyển tiếp từ cổng 80 trên giao diện ngoài sang máy chủ của bạn và có thể là cổng 443 nếu bạn muốn bao gồm các kết nối SSL/TLS.

Tôi cũng khuyên bạn nên sử dụng tệp cấu hình SSH (~/.ssh/config) để dễ dàng hơn khi thực hiện kết nối nội bộ hoặc bên ngoài. Thêm một cái gì đó như thế này:

Host serverext 
Hostname 1.2.3.4 
User greg 
Port 22 

Host serverint 
Hostname 192.168.1.10 
User greg 
Port 22 

Thay đổi tên máy chủ cho cấu hình máy chủ thành địa chỉ IP của kết nối Internet của bạn. Nếu bạn sử dụng một cổng không chuẩn cho các kết nối SSH bên ngoài thì hãy thay đổi trường cổng cho serverext để khớp với nó.

Thay đổi tên máy chủ cho cấu hình serverint thành địa chỉ IP nội bộ cho máy chủ đó trên mạng của bạn. Một khi điều này được cấu hình, kết hợp với cổng chuyển tiếp, bạn sẽ có thể sử dụng "ssh serverint" để kết nối với máy chủ của bạn khi bạn đang ở nhà và "ssh serverext" để kết nối với nó khi bạn ở đâu đó khác.

Có thể bao gồm các tùy chọn cấu hình nâng cao thông qua tệp cấu hình SSH, chẳng hạn như kết nối đường hầm cổng và kết nối websocket. Trong quá khứ tôi đã làm những việc như thế và chuyển hướng các kết nối SSH thông qua các máy chủ proxy SOCKS. Tôi thậm chí đã có nó chạy qua Tor, nhưng nó rất chậm.

+0

Hi Ben, tôi bị mắc kẹt trong tình huống đó, có một máy tính đằng sau một bộ định tuyến và tôi không có quyền cấu hình router, nhưng tôi có một DDNS cho nó và tôi có một máy chủ dưới sự kiểm soát của tôi. Sau đó, làm thế nào tôi có thể truy cập vào máy tính của mình phía sau trong mạng cục bộ từ bên ngoài? Cảm ơn nhiều! – Gizak

+0

Không có quyền truy cập vào bộ định tuyến, bạn không thể định cấu hình cổng chuyển tiếp cho bất kỳ hệ thống nào trên mạng đó. Những điều này thường được gọi là cổng cho một lý do. – Ben

Các vấn đề liên quan