dịch vụ sshd không khởi động


27

Tôi không chắc tại sao nó không bắt đầu hoặc tại sao nó ngăn tôi kết nối, tôi gặp lỗi này:

sshd.service - OpenSSH Daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: failed (Result: start-limit) since Wed 2013-09-11 08:45:13 BST; 1min 21s ago
  Process: 701 ExecStart=/usr/bin/sshd -D (code=exited, status=1/FAILURE)

Sep 11 08:45:13 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=1/FAILURE
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 08:45:13 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 08:45:13 alarmpi systemd[1]: sshd.service start request repeated too quickly,    refusing to start.
Sep 11 08:45:13 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 08:45:13 alarmpi systemd[1]: Unit sshd.service entered failed state.

Theo lời khuyên của #amrith, tôi đã chạy sshd -t chỉ ra rằng khóa chưa được tạo. Tôi đã tạo điều này bằng ssh-keygen -A theo lời khuyên trong diễn đàn này sau đó chạy trạng thái systemctl cho thấy tôi vẫn không chạy Daemon. Tôi đã đính kèm lỗi bên dưới, thật đáng buồn là tôi không biết chạy lại sshd -t không có tin nhắn nào.

sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: inactive (dead)

Sep 11 12:04:42 alarmpi systemd[1]: Started OpenSSH Daemon.
Sep 11 12:04:42 alarmpi sshd[289]: fatal: Cannot bind any address.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service holdoff time over, scheduling restart.
Sep 11 12:04:42 alarmpi systemd[1]: Stopping OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: Starting OpenSSH Daemon...
Sep 11 12:04:42 alarmpi systemd[1]: sshd.service start request repeated too quickly, refusing to start.
Sep 11 12:04:42 alarmpi systemd[1]: Failed to start OpenSSH Daemon.
Sep 11 12:04:42 alarmpi systemd[1]: Unit sshd.service entered failed state.

Câu trả lời:


31

Hãy thử sshd -t (chế độ kiểm tra sshd). Nó có thể chỉ cho bạn một lý do cho sự thất bại.

Tham khảo tài liệu chế độ thử nghiệm ở đây .


15

Vấn đề, trong trường hợp của chúng tôi là chúng tôi sử dụng một cổng không chuẩn cho SSH. SELinux có thể hạn chế các cổng nào có thể được sử dụng bởi một dịch vụ. Rõ ràng đôi khi nó bị lẫn lộn và quên rằng chúng tôi đã cho phép cổng đó?

Chúng tôi đã phải ban hành lệnh sau để thêm cổng của chúng tôi (22222) vào danh sách các cổng có sẵn

semanage port -a -t ssh_port_t -p tcp 22222

Tham khảo: http://sharadchhetri.com/2014/10/15/centos-7-rhel-7-change-openssh-port-number-selinux-enables/


8

Chà, nếu bạn thay đổi số cổng SSH, bạn phải thực hiện một số điều nữa trong CentOS 7.

Thay đổi tệp ssdh_config chỉnh sửa cổng SSH

vi /etc/ssh/sshd_config

Ví dụ thay đổi thành: Cổng 2323

SELINUX chỉ cho phép cổng 22 cho ssh. Thêm bối cảnh cổng mới 2323. Nếu bạn chưa cài đặt, hãy làm như sau

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 2323

Kiểm tra bối cảnh cổng cho ssh

semanage port -l | grep ssh

Khởi động lại dịch vụ SSHD

systemctl restart sshd.service

Thêm cổng vào tường lửa

firewall-cmd --permanent --zone=public --add-port=2323/tcp

Tải lại tường lửa

firewall-cmd --reload

Kiểm tra nghe

ss -tnlp|grep ssh

Hãy thử kết nối lại máng ssh

ssh root@<ipaddr> -p 2323

3

Tôi cũng đã có vấn đề này nhưng đã giải quyết nó. Cấu hình của tôi là dưới đây.

PermitRootLogin no
port 22
MaxAuthTries 3
MaxSessions 2
AllowUsers ravikanth
AddressFamily any
ListenAddress 192.168.1.23

Dịch vụ không khởi động được nên tôi mới nhận xét dòng cuối cùng ( #ListenAddress 192.168.1.23) thì máy chủ của tôi đã khởi động thành công.

Lưu ý: Tôi đã tắt tường lửa (iptables) và SELinux.


2

Bạn có thể muốn thử sử dụng cài đặt sau:

RestartSec=5s

Điều đó sẽ buộc ứng dụng của bạn ngủ trong 5 giây trước khi thử khởi động lại. Bạn rõ ràng có thể thay đổi số lượng cài đặt.

Xem tại đây để biết chi tiết:


Tôi nêu lên câu trả lời này, vì nó chứa thông tin hữu ích về cách khắc phục sự cố khi sự cố nằm trong systemd chứ không phải dịch vụ thực tế (sshd trong trường hợp OP). Tôi đã có các dịch vụ khởi động lại = luôn thất bại và không được khởi động lại nhiều lần. Câu trả lời này thực sự có thể giải quyết vấn đề đó với systemd. (Mặc dù nó không liên quan trực tiếp đến câu hỏi OP).
MattBianco

1

Cannot bind any address

Nếu nó cố gắng liên kết với một cổng (ví dụ: theo mặc định: 22) dưới 1024, nó cần đặc quyền gốc để làm điều đó. Bạn đã chạy service sshd starthoặc một cái gì đó như là root? Hãy thử chỉnh sửa tệp cấu hình sshd.conf, đặt địa chỉ liên kết thành một cổng lớn hơn 1024 (ví dụ: 1122) và chạy nó như một người dùng đơn giản!


1

Tôi đã có cùng một vấn đề và giải pháp đơn giản nhất mà tôi đã trải qua là gỡ bỏ opensshvà cài đặt lại.

 yum remove openssh

và sau đó:

 yum install openssh openssh-server openssh-clients

sau đó bạn có thể bắt đầu sshddịch vụ:

 service sshd start

-1

Tôi đã có vấn đề tương tự. Chỉ cần vô hiệu hóa Selinux!


-1

Chỉ cần làm theo

mkdir -p /var/run/sshd

/usr/sbin/sshd -ddd

Điều này sẽ khắc phục vấn đề của bạn.


1
Tại sao đó phải là một giải pháp cho vấn đề mà OP gặp phải?
HBruijn

1
Tôi có một vấn đề tương tự trong OpenVZ. Tôi làm theo điều này là để khắc phục vấn đề.
Aman Juman
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.