Cách truy cập máy chủ openssh với địa chỉ IP bên ngoài từ bên ngoài Mạng cục bộ


0

Làm cách nào tôi có thể sử dụng máy chủ openssh mới của mình với địa chỉ IP bên ngoài từ bên ngoài Mạng cục bộ?

Mục đích là một quản trị viên máy tính bên ngoài từ bên ngoài Mạng cục bộ sẽ có thể quản trị máy chủ openssh (quyền root, cài đặt phần mềm và dữ liệu) qua Internet.

Thiết lập kỹ thuật:

Local Area Network = Router + openssh-server + openssh-client

máy chủ openssh máy chủ Ubuntu 14.04.1 mã hóa toàn bộ đĩa IP 111.111.111.111, địa chỉ IP bên ngoài do Nhà cung cấp dịch vụ Internet 222.222.222.222 cung cấp, hai cổng miễn phí 22 (TCP, UDP) được đặt trong bộ định tuyến cho máy tính này, người dùng MaximGorki

openssh-client Ubuntu 14.04.1 mã hóa toàn bộ đĩa trên máy tính để bàn IP 111.111.111.110, địa chỉ IP bên ngoài được cung cấp bởi Nhà cung cấp dịch vụ Internet 222.222.222.222

Tôi có thể đăng nhập vào máy chủ openssh từ máy khách openssh bên trong Mạng cục bộ (LAN) bằng địa chỉ IP được đặt bởi bộ định tuyến cho máy chủ openssh 111.111.111.111.

Từ máy chủ openssh tôi muốn kết nối với máy chủ openssh bằng dòng lệnh:

ssh MaximGorki@111.111.111.111

ssh MaximGorki@222.222.222.222

Địa chỉ IP nội bộ hoạt động với mật khẩu.

Địa chỉ IP bên ngoài không hoạt động từ máy tính openssh-client nằm trong Mạng cục bộ:

ssh: kết nối với máy chủ 222.222.222.222 cổng 22: Đã hết thời gian kết nối

Tôi cũng đã thiết lập tính năng pubkey. Dường như không hiệu quả. Tôi không biết tại sao. Do đó, tôi sẽ rất vui khi truy cập máy chủ openssh chỉ bằng xác thực mật khẩu.

Tôi muốn kiểm tra xem máy chủ openssh có sẵn từ địa chỉ IP bên ngoài không.

Tôi phải thiết lập hoặc thay đổi máy tính nào?

Bí quyết linux của tôi rất hạn chế, vui lòng cung cấp cú pháp dòng lệnh đầy đủ làm ví dụ, nếu bạn thấy câu trả lời.


Sau khi giới thiệu một câu trả lời, tôi đã thêm 4 quy tắc vào iptables ban đầu. Iptables nhìn bây giờ vậy:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

pkts   bytes   target   prot   opt   in    out   source

218    16703   ACCEPT   all    --    any   any   anywhere state RELATED,ESTABLISHED

0       0      ACCEPT   all    --    any   any   222.222.222.222 

0       0      ACCEPT   tcp    --    any   any   anywhere tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts   bytes   target   prot   opt   in    out   source

0      0       ACCEPT   all    --    any   any   anywhere state RELATED,ESTABLISHED

0      0       ACCEPT   all    --    any   any   anywhere state RELATED,ESTABLISHED

0      0       ACCEPT   all    --    any   any   anywhere state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 10 packets, 2082 bytes)

pkts   bytes   target   prot   opt   in    out   source

Là bộ định tuyến của bạn được cấu hình để cho phép NAT loopback ?
Steeldo

Câu trả lời:


2

Lỗi của tôi là không đặt các cổng trong ssh_config, sshd_config và bộ định tuyến thành cùng một số. Trước đó, tôi đã thay đổi số cổng. Tôi trộn lẫn các tập tin cấu hình cho máy chủ và máy khách. Bây giờ tất cả các cổng trong tất cả các tệp cấu hình và trong bộ định tuyến có cùng một số. Bây giờ tôi có thể truy cập máy chủ từ máy khách bằng địa chỉ IP bên ngoài.


Vui lòng xóa câu hỏi vì rất khó có ai có vấn đề tương tự.
dùng68186

0

Đối với điều này, bạn sẽ cần chuyển tiếp cổng mà bạn đang cố gắng kết nối qua bộ định tuyến của mình. Bạn có thể Google xung quanh để được hướng dẫn về điều này, vì nó thay đổi rất nhiều với các nhà sản xuất và kiểu máy khác nhau.


Tôi đã viết rồi, có lẽ bạn không nhận xét nó vì văn bản của tôi dài: hai cổng miễn phí 22 (TCP, UDP) được đặt trong bộ định tuyến
Robert

0

Kiểm tra iptables để hạn chế tường lửa. Hãy thử thêm các dòng dưới đây vào Iptables và kiểm tra xem bạn có thể truy cập máy qua ssh không

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -s 222.222.222.222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Nếu cách trên không hoạt động, hãy kiểm tra cài đặt bộ định tuyến xem cổng có được chuyển tiếp chính xác không


Tôi đã áp dụng 4 quy tắc bằng cách nhập sudo iptables -A INPUT ... Sau đó, tôi đã cố gắng kết nối từ máy khách openssh có ip 222.222.222.222 qua địa chỉ ip 222.222.222.222 Kết quả đã hết thời gian kết nối Tôi đã kiểm tra cổng miễn phí 22 trong Bộ định tuyến Có vẻ ổn. Sau đó, tôi đã kiểm tra iptables -L -v xem kết quả ở trên
Robert

0

Bạn có đảm bảo rằng bộ định tuyến của bạn có thể (và đã bật) NAT Loopback / Hairpinning không?

Nếu không, bạn không thể kết nối với thiết bị trên mạng LAN thông qua IP bên ngoài. Hãy thử kết nối điện thoại với khách hàng của bạn thay vì sử dụng kết nối internet LAN của bạn để kiểm tra. Hoặc sử dụng proxy, VPN hoặc đơn giản là thử thiết lập kết nối từ một mạng khác.

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.