vấn đề thiết lập ssh từ xa


7

Tôi đã có một máy tính để bàn Ubuntu ở nhà và một máy tính xách tay mac. Tôi đang cố gắng thiết lập tính năng này để tôi có thể ssh vào máy ub Ubuntu của mình từ bên ngoài mạng cục bộ.

Đây là những gì tôi đã làm cho đến nay:

(1) Tôi đã kích hoạt ssh trên cổng 22 trên máy ubfox của mình. Tệp / etc / ssh / sshd_config nói rằng nó đang nghe trên Cổng 22.

(2) Nếu tôi nhìn vào trạng thái tường lửa của mình ( ufw status), nó nói:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             

(3) Trên bộ định tuyến Netgear C3700-100NAS của tôi, tôi đã dành địa chỉ IP cho máy ubfox của mình để nó không thay đổi.

(4) Tôi thiết lập chuyển tiếp cổng, với loại dịch vụ TCP / UDP, các cổng bên ngoài và bên trong được đặt thành 22 và nó trỏ đến địa chỉ IP bên trong của tôi.

(5) Tôi đã tìm thấy địa chỉ IP công cộng của mình bằng cách sử dụng http://www.myipaddress.com/

Tôi có thể ssh thành công vào máy ub Ubuntu của tôi từ nhà, trên mạng cục bộ, sử dụng địa chỉ IP cục bộ.

Nhưng ssh từ xa hết thời gian. Tôi cũng đã thử một trình kiểm tra chuyển tiếp cổng trực tuyến ( https://www.yougetsignal.com/tools/open-ports/ ) và khi tôi trỏ nó đến địa chỉ IP công cộng của tôi và cổng 22, nó cho tôi biết cổng đã bị đóng.

Khi tôi cố gắng từ xa ssh, tôi nhận được như sau:

~ $ ssh -vvv myusername@xx.xxx.xxx.xx
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 22.
debug1: connect to address xx.xxx.xxx.xx port 22: Operation timed out
ssh: connect to host xx.xxx.xxx.xx port 22: Operation timed out

CẬP NHẬT

Theo một số lời khuyên được liệt kê dưới đây, tôi đã thực hiện một vài thay đổi. Tôi đã thay đổi cổng chuyển tiếp để bây giờ sử dụng cổng 8022 làm cổng bên ngoài, nhưng vẫn là cổng 22 làm cổng nội bộ. Tôi cũng đã bật một tùy chọn trong cài đặt bộ định tuyến của mình để nó phản hồi lại ping.

Bây giờ, nếu tôi ping IP công cộng của mình, nó sẽ phản hồi. Tuy nhiên, nếu tôi kiểm tra xem cổng 8022 có mở hay không thông qua trang web yougetsignal được liệt kê ở trên, nó vẫn cho biết nó đã đóng.

Nếu tôi cố gắng SSH:

> ssh -vvv username@xx.xxx.xxx.xx -p 8022
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 8022
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 8022.
debug1: connect to address xx.xxx.xxx.xx port 8022: Operation timed out
ssh: connect to host xx.xxx.xxx.xx port 8022: Operation timed out

Tôi cũng đã gọi cho ISP của mình và mặc dù đó là một cuộc trò chuyện khó hiểu, nhưng dường như họ không chặn các cổng mà tôi đang cố sử dụng ...

Theo một gợi ý dưới đây, tôi chạy sudo nmap --packet-trace --traceroute --reason xx.xxx.xxx.xx. Đây là một tập hợp con của đầu ra. Cổng 8022 không được liệt kê, nhưng tôi tưởng tượng nó phải là:

Host is up, received reset ttl 253 (0.0028s latency).
Not shown: 996 filtered ports
Reason: 996 no-responses
PORT     STATE  SERVICE      REASON
135/tcp  closed msrpc        reset ttl 253
139/tcp  closed netbios-ssn  reset ttl 253
445/tcp  closed microsoft-ds reset ttl 253
1025/tcp closed NFS-or-IIS   reset ttl 253

Tôi không chắc vấn đề là ... máy Ubuntu ở đâu? bộ định tuyến? Bất kỳ ý tưởng làm thế nào để tìm ra điều này?

Cảm ơn!

Câu trả lời:


1

Tôi đã có vấn đề tương tự vài ngày trước. Modem hoặc bộ định tuyến của bạn có thể không được cấu hình như một cây cầu. Nó phụ thuộc vào ISP. Trong chế độ bình thường, nó sẽ chặn tất cả các kết nối đến, nhưng chuyển nó sang chế độ cầu cho phép tất cả quyền truy cập. Tôi đã phải gọi cho ISP của mình để thay đổi điều đó, vì vậy tôi sẽ có địa chỉ IP công cộng (không được sửa chính xác trong thời gian dài nhưng nó đủ cho tôi) và bộ định tuyến của tôi hiện hoạt động như một cầu nối cho tất cả các kết nối.

Đó là tất cả về việc ISP thiếu địa chỉ IP và ẩn người dùng bên cạnh một số công cụ định tuyến khác. Bạn cần phải thực sự có địa chỉ IP công cộng.


Bạn chỉ muốn chuyển tiếp cổng trên cổng 22.
xenoid

Đằng sau modem của ISP tôi có bộ định tuyến của riêng mình. Vì vậy, IP tĩnh và bỏ qua modem đầy đủ là cần thiết.
thích

0

(3) Trên bộ định tuyến Netgear C3700-100NAS của tôi, tôi đã dành địa chỉ IP cho máy ubfox của mình để nó không thay đổi.

(4) Tôi thiết lập chuyển tiếp cổng, với loại dịch vụ TCP / UDP, các cổng bên ngoài và bên trong được đặt thành 22 và nó trỏ đến địa chỉ IP bên trong của tôi.

Từ mô tả của bạn, có vẻ như, bộ định tuyến của bạn không nghe cổng 22.

Tôi sẽ kiểm tra một vài điều

  1. Có thể ping đến địa chỉ IP công cộng của bạn? Nếu không, bạn có thể kích hoạt nghe ping / ICMP trên bộ định tuyến không?
  2. Kiểm tra xem nó có hoạt động không, khi bạn nghe trên bộ định tuyến của mình trên cổng 8022 và chuyển tiếp sang cổng 22. Trên Linux, người dùng không có đặc quyền không được phép sử dụng cổng 1 đến 1024, vì vậy có lẽ điều gì đó tương tự.
  3. Tôi sẽ kiểm tra thêm, nếu nó hoạt động với cổng 80 hoặc 8080 và http. Có lẽ bộ định tuyến không cho phép SSH vì một số lý do.

Tôi vừa thử ping ip công khai của tôi với ping xx.xxx.xxx.xxvà yêu cầu đã hết thời gian. Vì vậy, có lẽ đó là một dấu hiệu cho thấy tôi cần liên hệ với ISP của mình ...
Pascal

Trước bất cứ điều gì khác, tôi sẽ Google "<ISP của bạn> chuyển tiếp cổng"; có lẽ họ đang chặn truy cập. Một cách khác để thử là cài đặt nmap trên máy tính xách tay Mac của bạn, kết nối với bất kỳ mạng bên ngoài nào (không phải mạng gia đình của bạn) và chạy một cái gì đó như sudo nmap --packet-trace --traceroute --reason xx.xxx.xxx.xxđể gỡ lỗi bất kỳ định tuyến nào có thể xảy ra.
Zombie Feynman

Tôi đã chạy dòng nmap mà bạn đề xuất. Cổng tôi đã thiết lập để chuyển tiếp cổng hoàn toàn không được liệt kê. Tôi đang đăng một đoạn trích trên đầu ra. Tôi tưởng tượng nó nên, phải không?
Pascal

0

Tôi sẽ xem xét trước nếu sự cố xảy ra trên một số thiết bị mạng của ISP, sau đó trên bộ định tuyến của bạn, sau đó trên máy tính.

Bạn có thể thử một lần nữa và di chuyển cổng từ 8022 đến 443 không?

Đôi khi một số ISP có thể có bộ lọc cổng rất hạn chế. Nhưng 443 thường không được lọc. Ngoài ra các cổng cao hơn 10000 có thể có cơ hội tốt hơn, nhưng tôi thấy từ nmap của bạn rằng bạn có thể đạt tới mức 440 hoặc hơn: bạn đã thực hiện nmap từ bên ngoài mạng cục bộ của mình chưa? Bằng chứng tốt nhất sẽ là nếu bạn có thể khởi chạy nmap từ bên ngoài mạng gia đình của mình về phía ip công cộng của bạn.

Kr,
Cisco


0

Tôi sẽ đề nghị kiểm tra các bảng NAT trên bộ định tuyến của bạn. Các bảng NAT sẽ cho phép bộ định tuyến của bạn lắng nghe bất kỳ yêu cầu nào trên cổng đó và chuyển tiếp yêu cầu đến cổng được chỉ định trên máy đích (chúng có thể là cùng một cổng nếu muốn). Các cổng từ 1024 đến 49151 có sẵn cho người dùng sử dụng. Nếu sử dụng cổng không chuẩn, hãy sử dụng cờ -p trên lệnh ssh của bạn.

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.