Không thể SSH từ mạng LAN bên ngoài mặc dù chuyển tiếp cổng có vẻ tốt


8

Chạy Ubuntu 12.04, tôi đã thiết lập máy chủ OpenSSH. Tôi có thể kết nối từ bên trong mạng LAN, nhưng không phải từ bên ngoài. Tôi đang sử dụng cùng một sshd_configtệp như trên các máy Ubuntu 12.04 khác của mình (nằm trong một mạng LAN khác).

$ ssh 192.168.0.2

hoạt động tốt, nhưng

$ ssh 65,76.97.222

(tạo địa chỉ IP) không hoạt động. Chẳng có gì xảy ra. Không có thông báo lỗi, hoặc bất cứ điều gì. Lời nhắc chỉ ngồi đó.

Nhờ các bình luận bên dưới, tôi đã quản lý để xác minh thông qua các trang web canyouseeme.orgShieldsUP rằng cổng 22 thực sự mở.

Sử dụng tùy chọn -vvv, tôi nhận được như sau:

$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1

Và sau đó nhắc nhở chỉ ngồi đó.

Thông tin gỡ lỗi thêm từ var/log/auth.log:

$ grep sshd /var/log/auth.log
[cutting old lines...]    
Jul  6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222

Tôi đang cho phép bất kỳ người dùng nào kết nối, đặc biệt là tên người dùng của riêng tôi. Điều khiến tôi bối rối là tôi chưa gặp vấn đề này trên bất kỳ máy nào khác, mặc dù chúng ở một làn đường khác. Lan này chỉ có một máy tính gắn liền với nó. Bất kỳ ý tưởng làm thế nào để tiến hành từ đây?


hãy thử sử dụng các tùy chọn tiết ( -v, -vv, để -vvv) để lấy thêm thông tin lại: kết nối. ví dụ ssh -vvv -p 51555 65.76.97.222.
amc

kiểm tra cổng chuyển tiếp canyouseeme.org
hwez

Cảm ơn, tôi đã chỉnh sửa câu hỏi của tôi để phản ánh ý kiến ​​của bạn.
DustByte

Câu trả lời:


3

Một vài điều để bạn kiểm tra.

  1. Kiểm tra /etc/ssh/sshd_configvà đảm bảo rằng bạn không có bất kỳ AllowUsersmục hài hước nào.

  2. Chỉ định người dùng mà bạn muốn kết nối là:

    ssh USER@SERVER
    ssh SERVER -lUSER
    
  3. Kiểm tra tường lửa của bạn ( iptables):

    sudo iptables -L --line-numbers
    sudo iptables -L -t nat --line-numbers
    

2

Kiểm tra cổng của bạn trên máy chủ SSH được đặt thành bộ định tuyến thực hiện chuyển tiếp cổng.

route -n

Tuyến mặc định sẽ quay trở lại bộ định tuyến đó, nếu không, bạn sẽ có thể bắt đầu các kết nối thông qua nó, nhưng ACK sẽ không đi đâu cả!


1

Cần kiểm tra xem cổng chuyển tiếp có hoạt động chính xác không, tôi thường kiểm tra bằng cách truy cập https://www.grc.com/shieldsup > Tiến hành> đặt số cổng của bạn vào hộp và nhấp vào đầu dò cổng tùy chỉnh do người dùng chỉ định. Điều đó sẽ cho bạn biết nếu cổng TCP đó thực tế mở cho công chúng


Cảm ơn. Tôi đã chỉnh sửa câu hỏi của mình để phản ánh đề xuất của bạn. Vấn đề vẫn còn tuy nhiên.
DustByte

HUH mạng bị loại trừ vì vậy trông giống như một vấn đề cấu hình. Hãy thửgrep sshd /var/log/auth.log
meccooll

Dòng sau đây được thêm vào auth.log:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
DustByte

1

Bạn đang khai báo một người dùng?

ssh Jimmy@65.76.97.222 -p51555

Nếu bạn đã cho mã theo cách bạn đang sử dụng thì tôi tin rằng nó sẽ mặc định là tên người dùng hiện tại.

Hơn nữa, bạn cần phải có người dùng trên hệ thống TARGET với sự cho phép. trong ví dụ trên "Jimmy"


Tôi thực sự có. Tôi chỉ kết nối với cùng một người dùng mọi lúc và hơn nữa, sshd_configcho phép mọi người dùng kết nối.
DustByte
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.