Máy chủ SSH không hoạt động (hồi sinh cho đến khi dừng)


12

Tôi có Ubuntu Server 10.04.1 đang chạy. Khi tôi cố đăng nhập vào máy chủ qua ssh, tôi không thể. Thay vào đó, tôi đã nhận được connection refusedlỗi. Tôi đã thử ping máy và tôi đã nhận được trả lời! Vì vậy, lý do rõ ràng là SSH daemon bị dừng.

Sau khi khởi động lại, tôi đã có thể đăng nhập vào máy chủ của mình thông qua ssh. Sau một thời gian, tôi đã xem nhật ký của mình /var/log/syslogvà tìm thấy các bản ghi sau:

Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped

Tôi đã tìm kiếm một vấn đề / giải pháp tương tự. Một số người nói rằng đây là do SSH daemon cố gắng để bắt đầu trước khi kết nối mạng và họ đề nghị thay đổi ListenAddresstrong /etc/ssh/sshd_configđược 0.0.0.0. Tôi nghĩ rằng đây không phải là nguyên nhân trong trường hợp của tôi, bởi vì vấn đề của tôi xảy ra sau khi hệ thống hoạt động.

có biết thứ gì gây ra không? Đây là Ubuntu Server và nó sẽ được chạy và truy cập từ xa bằng SSH.

CẬP NHẬT:

Đây là đoạn mã tôi tìm thấy /var/log/auth.log.

Jan 16 10:56:38 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.

Có vẻ như lỗi này đã bắt đầu xuất hiện sau khi tôi tải lại trình nền SSH. Tôi có nên tránh sử dụng ssh reloadvà sử dụng ssh restartthay thế?


Ngoài ra kiểm tra cái này. Nó có thể là một vấn đề với sshd_config sintaxis bugs.launchpad.net/ubuntu/+source/openssh/+bug/911753

Câu trả lời:


7

Bạn nên kiểm tra xem điều gì đã xảy ra ngay trước khi SSH bắt đầu lúng túng syslog. Nếu hệ thống con mạng chết, điều đó có thể giải thích tại sao sshdbắt đầu thất bại.

Tôi cũng sẽ kiểm tra /var/log/auth.log. Đó sshdlà nhật ký và nó có thể cung cấp cho bạn một thông báo lỗi tốt hơn.


Cảm ơn! Tôi tìm thấy nhiều mục trong auth.logtập tin và tôi đã cập nhật câu hỏi của mình.
Khaled

reloadnên là một hành động hợp lệ. Nó sẽ kích hoạt khởi động lại nội bộ (và dường như đã thử điều đó và chỉ bị kẹt). Hãy thử tải lại lần nữa và xem nếu nó bị kẹt lại.
Oli

Thật vậy, tải lại nên hợp lệ, nhưng có một lỗi. Xem câu trả lời của tôi để biết thêm.
SpamapS

16

Tôi chỉ gặp vấn đề tương tự trên hộp 12.04 của mình. Tức là cùng một triệu chứng. Than ôi, nó luôn xảy ra khi tôi giới thiệu ListenAddressmệnh đề với inetinet6địa chỉ trong sshd_config. Nói tóm lại, đây có vẻ là một triệu chứng không đúng định dạng sshd_config- mặc dù các tệp nhật ký không nêu bất cứ điều gì như thế.

Xử lý sự cố sshd

Những gì tôi thấy nói chung rất hữu ích trong bất kỳ trường hợp nào như vậy là bắt đầu sshdmà không để nó trình bày. Các vấn đề trong trường hợp của tôi là không phải syslogvà cũng không auth.logcho thấy bất cứ điều gì có ý nghĩa.

Khi tôi khởi động nó từ thiết bị đầu cuối, tôi nhận được:

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

Tốt hơn nhiều! Thông báo lỗi này cho phép tôi xem những gì sai và sửa nó. Cả hai tệp nhật ký đều chứa đầu ra này.

NB: ít nhất là trên Ubuntu, đây $(which sshd)là phương pháp tốt nhất để đáp ứng sshdyêu cầu của một đường dẫn tuyệt đối. Nếu không, bạn sẽ nhận được lỗi sau : sshd re-exec requires execution with an absolute path. Các -p 10222làm cho sshdnghe trên cổng đó thay thế, trọng tập tin cấu hình - đây là để nó không mâu thuẫn với khả năng chạy sshdtrường. Hãy chắc chắn để chọn một cổng miễn phí ở đây.

Phương pháp này đã giúp tôi nhiều lần trong việc tìm kiếm các vấn đề, có thể là các vấn đề xác thực hoặc các loại khác. Để có được đầu ra thực sự dài dòng stdout, hãy sử dụng $(which sshd) -Ddddp 10222(lưu ý thêm vào ddđể tăng độ dài). Để kiểm tra tốt hơn kiểm tra lòng tốt man sshd.


Ưu điểm chính của phương pháp này là cho phép bạn kiểm tra sshdcấu hình mà không phải khởi động lại sshdtrên cổng mặc định. Thông thường, điều này không nên can thiệp vào các kết nối SSH hiện có, nhưng tôi đã thấy nó. Vì vậy, điều này cho phép một người xác thực tệp cấu hình trước - có khả năng - cắt đứt quyền truy cập vào máy chủ từ xa (ví dụ: tôi có điều đó đối với một số VPS và ngay cả đối với các máy chủ vật lý nơi tôi cần trả thêm tiền để có quyền truy cập ngoài băng tần vào máy).


3
Thủ thuật gọi trực tiếp của bạn chỉ lưu thịt xông khói của tôi. Tôi đã gặp lỗi trong tệp sshd_config (được tạo từ Chef) mà tôi có thể giải quyết bằng kỹ thuật này. CẢM ƠN đã dành thời gian để gửi nó cho mọi người.
Peter Laird

4

Đây dường như là kết quả của lỗi # 687535, đã được sửa gần đây trong thời gian gần đây và đã được tải lên cả maverick và lucid như một bản cập nhật được đề xuất.

https://bugs.launchpad.net/ubfox/lucid/+source/openssh/+orms/687535

Tôi khuyến khích mọi người đến đó, thử trường hợp thử nghiệm (tìm kiếm TEST CASE) và đăng kết quả của bạn cả trước và sau khi cài đặt bản sửa lỗi được đề xuất. Điều đó sẽ giúp nhóm SRU quyết định rằng việc xác minh đã được thực hiện và phát hành dưới dạng cập nhật.


2

Trong /etc/ssh/sshd_config, đảm bảo rằng tất cả có và không có tùy chọn trong trường hợp thấp hơn. Ví dụ: nếu bạn đặt PermitRootLogin No, ssh sẽ không bắt đầu. Nó thực sự phải được PermitRootLogin no.


1

Tôi gặp vấn đề tương tự với hình ảnh Ubuntu 11.10 trên Linode sau khi khởi động lại. dịch vụ ssh sẽ sản xuất trong syslog:

Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped

Đó là một hộp thử nghiệm và nó có khoảng 60 ngày hoạt động, vì vậy ở đâu đó, tôi đã cài đặt một cái gì đó được gắn vào dưới cùng của sshd_config:

ClientAliveInterval 60
ClientCountAliveMax 60

Bình luận những dòng cho phép ssh bắt đầu.


0

Ubuntu ssh sẽ không khởi động và syslog mang lại "init: ssh main process (2044) kết thúc với trạng thái 255"

/ usr / sbin / sshd -Dd 10222

Chắc chắn làm việc cho tôi để xác định lỗi dòng sshd_config


-1

có cùng một vấn đề, giải pháp trên không hoạt động, nhưng tôi đã giải pháp cho vấn đề này.

root@imt:~# sshd
sshd re-exec requires execution with an absolute path
ssh localhost
ssh: connect to host localhost port 22: Network is unreachable

Đường dẫn là ok theo tài liệu, vì vậy tôi chạy sshd bằng tay.

root@imt:~# /usr/sbin/sshd 
/var/run/sshd must be owned by root and not group or world-writable

quyền / var / run / sshd là.

root@imt:~# ls -ld /var/run/sshd
drwsrwsrwt 2 root root 40 Jan  5 12:58 /var/run/sshd

root@imt:~# chmod 755 /var/run/sshd

vậy thì tốt rồi chạy ssh localhost và kiểm tra.

root@imt:~# ssh localhost 
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
Are you sure you want to continue connecting (yes/no)? yes

1
Mặc dù đây là một hướng dẫn hữu ích, nhưng rõ ràng đó không phải là nguyên nhân dẫn đến việc OP sshdkhông chạy chính xác, như bạn có thể thấy từ các thông báo lỗi rất khác nhau trong nhật ký của họ. -1
David Foerster
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.