Điểm:0

Tại sao OpenSSH không thể liên kết với bất kỳ địa chỉ nào khi khởi động?

lá cờ in

Tôi đang làm việc trên một bảng linux nhúng và tôi nhận thấy những điều sau khi khởi động:

[FAILED] Không khởi động được máy chủ OpenBSD Secure Shell.

Sau đó tôi chạy trạng thái sudo systemctl sshd và nhận được điều này:

[sudo] mật khẩu cho debian: 
ssh.service - Máy chủ OpenBSD Secure Shell
  Đã tải: đã tải (/lib/systemd/system/ssh.service; đã bật; giá trị đặt trước của nhà cung cấp: enab
  Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ Hai 2022-05-23 19:43:25 UTC; 33 giây trước
    Tài liệu: man:sshd(8)
          người đàn ông:sshd_config(5)
 Quá trình: 639 ExecStartPre=/usr/sbin/sshd -t (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
 Quá trình: 684 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (mã=đã thoát, trạng thái=255/E
PID chính: 684 (code=exited, status=255/EXCEPTION)

Ngày 23 tháng 5 19:43:23 iot-server systemd[1]: Khởi động máy chủ OpenBSD Secure Shell...
Ngày 23 tháng 5 19:43:24 iot-server sshd[684]: lỗi: Liên kết với cổng 22 trên 192.168.1.120 fa
Ngày 23 tháng 5 19:43:24 iot-server sshd[684]: fatal: Không thể liên kết bất kỳ địa chỉ nào.
Ngày 23 tháng 5 19:43:25 iot-server systemd[1]: ssh.service: Quá trình chính đã thoát, code=ex
Ngày 23 tháng 5 19:43:25 iot-server systemd[1]: ssh.service: Không thành công với kết quả 'exit-cod
Ngày 23 tháng 5 19:43:25 iot-server systemd[1]: Không thể khởi động dịch vụ OpenBSD Secure Shell

Tất cả trợ giúp mà tôi tìm thấy đều giả định rằng địa chỉ có thể được liên kết đã được sử dụng. Nhưng đối với tôi điều này không hoạt động ngay từ đầu. Điều thú vị là nếu tôi chạy Sudo systemctl bắt đầu sshd sau đó nó bắt đầu hoạt động và tôi nhận được:

ssh.service - Máy chủ OpenBSD Secure Shell
  Đã tải: đã tải (/lib/systemd/system/ssh.service; đã bật; giá trị đặt trước của nhà cung cấp: enab
  Hoạt động: hoạt động (đang chạy) kể từ Thứ Hai 2022-05-23 19:53:01 UTC; 4 giây trước
    Tài liệu: man:sshd(8)
          người đàn ông:sshd_config(5)
 Quá trình: 1471 ExecStartPre=/usr/sbin/sshd -t (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
PID chính: 1472 (sshd)
  Nhiệm vụ: 1 (giới hạn: 1026)
 Bộ nhớ: 700.0K
 Nhóm C: /system.slice/ssh.service
         |_ 1472 /usr/sbin/sshd -D

Ngày 23 tháng 5 19:53:01 iot-server systemd[1]: Khởi động máy chủ OpenBSD Secure Shell...
Ngày 23 tháng 5 19:53:01 iot-server sshd[1472]: Máy chủ lắng nghe trên cổng 192.168.1.120 22
Ngày 23 tháng 5 19:53:01 iot-server systemd[1]: Khởi động máy chủ OpenBSD Secure Shell.

Tại sao nó không ràng buộc khi khởi động? Thực tế là tôi có thể làm cho nó hoạt động tốt mà không cần thay đổi nghĩa là không có vấn đề gì, vì vậy tôi không biết còn thiếu điều gì.

lá cờ us
Rob
Có vẻ như đầu ra lỗi bị cắt bớt, có thể sử dụng tùy chọn `-l` để hiển thị đầy đủ. - Tôi đoán: Lỗi `lỗi: Liên kết với cổng 22 trên 192.168.1.120` gợi ý rằng có thể cấu hình sshd của bạn sử dụng địa chỉ IP cụ thể đó làm ListenAddress thay vì mặc định (không đặt ListenAddress là mặc định) - và địa chỉ IP đó có thể chưa được định cấu hình và khả dụng khi sshd được khởi động.
m4l490n avatar
lá cờ in
@Rob Tôi không nghĩ đó là nó. Tôi có một máy chủ Debian khác nơi tôi có `ListenAddress 192.168.1.110` và nó hoạt động tốt. Tôi đã sao chép cấu hình từ máy chủ hoạt động sang máy chủ nhúng của mình và cập nhật IP thành `ListenAddress 192.168.1.120` vì đây là địa chỉ của nó.
mikem avatar
lá cờ cn
Có thứ gì khác đang nghe trên cổng 22 không? "netstat -tulpn | grep 22" hiển thị cho bạn điều gì? Máy chủ có địa chỉ như bạn nghĩ không? Trả về "ifconfig -a" hoặc "ip addr show" là gì?
m4l490n avatar
lá cờ in
@mikem không, không có gì đang nghe trên cổng 22 và vâng, tôi chắc chắn rằng địa chỉ đó là vì tôi đã xác minh bằng `ip addr show`. Ngoài ra, tôi đã đặt trước địa chỉ đó trong bộ định tuyến của mình để đảm bảo rằng nó luôn giống nhau đối với bảng này. Như tôi đã đề cập, dường như không có gì sai bởi vì nó không hoạt động khi khởi động, khi bo mạch đã khởi động, tôi chỉ cần thực hiện `sudo systemctl start sshd` và nó bắt đầu hoạt động hoàn toàn bình thường.
mikem avatar
lá cờ cn
Có lẽ khi khởi động sshd đang cố khởi động trước khi mạng sẵn sàng. địa chỉ do dhcp cung cấp hay là địa chỉ tĩnh? Bạn có thể đặt systemd để trì hoãn khởi động sshd hoặc làm cho nó phụ thuộc vào mức độ sẵn sàng của mạng không? Để kiểm tra, có điều gì thay đổi nếu bạn xóa cài đặt ListenAddress hoặc nếu bạn thay đổi số cổng không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.