धीरे ssh लॉगिन - org की सक्रियता .freedesktop.login1 समय समाप्त हो गया


39

मेरे एक सर्वर पर मैंने देखा है कि वास्तव में SSH लॉगिन पर देरी होती है।

Ssh -vvv विकल्पों का उपयोग करके कनेक्ट करने में विलंब होता है debug1: Entering interactive session.

कनेक्शन का अर्क:

debug1: Authentication succeeded (publickey).
Authenticated to IP_REDACTED ([IP_REDACTED]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1

यहां बताई गई विधि का उपयोग करके मैंने स्ट्रेस आउटपुट उत्पन्न किया और 14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) = 1 ([{fd=5, revents=POLLIN}], left {0, 0}) <25.020764>25 सेकंड लगते हैं।

स्ट्रेस आउटपुट का अर्क:

14:09:53.675567 clock_gettime(CLOCK_MONOTONIC, {4662549, 999741404}) = 0 <0.000024>
14:09:53.675651 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"l\4\1\1\n\0\0\0\2\0\0\0\215\0\0\0\1\1o\0\25\0\0\0", 24}], msg_controll
en=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 24 <0.000024>
14:09:53.675744 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"/org/freedesktop/DBus\0\0\0\2\1s\0\24\0\0\0"..., 146}], msg_controllen
=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 146 <0.000025>
14:09:53.675842 recvmsg(5, 0x7ffe0ff1dfa0, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailab
le) <0.000023>
14:09:53.675925 clock_gettime(CLOCK_MONOTONIC, {4662550, 96075}) = 0 <0.000024>
14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) = 1 ([{fd=5, revents=POLLIN}], left {0, 0}) <25.020764>
14:10:18.696865 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"l\3\1\0013\0\0\0\3\0\0\0m\0\0\0\6\1s\0\5\0\0\0", 24}], msg_controllen=0,     msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 24 <0.000017>
14:10:18.696944 recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{":1.10\0\0\0\4\1s\0#\0\0\0org.freedesktop."..., 155}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_DONTWAIT|MSG_NOSIGNAL|MSG_CMSG_CLOEXEC) = 155 <0.000018>

मैंने प्रासंगिक समय में मुख्य लॉग में प्रविष्टि देखी है:

Jul 21 14:10:18 click sshd[8165]: pam_systemd(sshd:session): Failed to create session: Activation of org.freedesktop.login1 timed out

इस बारे में पर्याप्त जानकारी नहीं है कि यह किसके लिए मतदान करने की कोशिश कर रहा है और यह अब इस विशेष सर्वर पर 25 सेकंड क्यों ले रहा है।

journalctl -u systemd-logindआदेश से पता चलता है

Jul 20 11:33:06 click systemd-logind[19415]: Failed to abandon session scope: Transport endpoint is not connected
Jul 21 05:04:54 myhost systemd[1]: Started Login Service.
Jul 21 12:15:30 myhost systemd[1]: Started Login Service.
Jul 21 12:17:04 myhost systemd[1]: Started Login Service.
Jul 21 12:49:55 myhost systemd[1]: Started Login Service.
Jul 21 13:57:05 myhost systemd[1]: Started Login Service.
Jul 21 13:58:49 myhost systemd[1]: Started Login Service.
Jul 21 14:01:55 myhost systemd[1]: Started Login Service.
Jul 21 14:08:32 myhost systemd[1]: Started Login Service.
Jul 21 14:09:53 myhost systemd[1]: Started Login Service.
Jul 21 14:19:08 myhost systemd[1]: Started Login Service.
Jul 21 14:21:26 myhost systemd[1]: Started Login Service.
Jul 21 14:22:37 myhost systemd[1]: Started Login Service.
Jul 21 14:25:20 myhost systemd[1]: Started Login Service.
Jul 21 14:30:27 myhost systemd[1]: Started Login Service.
Jul 21 15:02:56 myhost systemd[1]: Started Login Service.

आदेश जारी करना systemctl restart systemd-logind.serviceइसे ठीक करता है (शायद अब के लिए)।

इसका क्या Activation of org.freedesktop.login1उल्लेख है? क्या भविष्य में लॉगइंड को पुनः आरंभ करने से रोकने का कोई तरीका है? मैं समय के साथ उम्मीद करता हूं कि मेरे पास बाकी सर्वरों के साथ यह समस्या होगी।

बस एक और सर्वर पर होने लगा।

$ sudo service systemd-logind status

● systemd-logind.service - Login Service
   Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
   Active: active (running) since Tue 2015-06-16 14:10:57 BST; 1 months 12 days ago
     Docs: man:systemd-logind.service(8)
           man:logind.conf(5)
           http://www.freedesktop.org/wiki/Software/systemd/logind
           http://www.freedesktop.org/wiki/Software/systemd/multiseat
 Main PID: 1701 (systemd-logind)
   Status: "Processing requests..."
   CGroup: /system.slice/systemd-logind.service
           └─1701 /lib/systemd/systemd-logind

Jul 28 13:16:21 myhost systemd[1]: Started Login Service.
Jul 28 13:16:47 myhost systemd[1]: Started Login Service.
Jul 28 16:09:23 myhost systemd[1]: Started Login Service.
Jul 28 16:09:49 myhost systemd[1]: Started Login Service.
Jul 28 16:10:15 myhost systemd[1]: Started Login Service.
Jul 28 16:10:41 myhost systemd[1]: Started Login Service.
Jul 28 22:50:19 myhost systemd[1]: Started Login Service.
Jul 29 05:00:15 myhost systemd[1]: Started Login Service.
Jul 29 11:00:20 myhost systemd[1]: Started Login Service.
Jul 29 11:09:56 myhost systemd[1]: Started Login Service.

EDIT - विस्तारित journalctlआउटपुट।

EDIT2 - सिस्टमड-लॉगइंड स्थिति को टिप्पणियों में सुझाए गए के रूप में जोड़ा गया जब किसी अन्य सर्वर पर इसे शुरू करने पर ध्यान दिया गया।

अद्यतन - यह मेरे जेसी सर्वर के बाकी हिस्सों के लिए होने लगा है। क्या मैं केवल यही अनुभव कर रहा हूँ? सिस्टमड-लॉगइंड को पुनः आरंभ करने के अलावा कुछ निश्चित होना चाहिए, क्या किसी के पास कोई विचार है?

इस 770135 पर एक डेबियन बग रिपोर्ट है ।


यह देखने के लिए systemcts status systemd-logindपुनरारंभ करने से पहले आउटपुट को देखना उपयोगी होगा कि इसके साथ क्या गलत था (बाहर, असफल, जो भी हो)। ppollसिर्फ़ एक मध्यस्थ है जो सिस्टेम से प्रतिक्रिया की प्रतीक्षा कर रहा है ताकि आप इसे दोष न दे सकें।
जकूज़ी

कोई systemctsआज्ञा नहीं है
अलास्देयर

माफ़ कीजिये। systemctlबेशक
जकूज़ी

मैंने सोचा था कि आपका क्या मतलब था लेकिन सुनिश्चित होना चाहता था। क्या यह वैसा ही आउटपुट नहीं है जैसा कि कमांड से उपलब्ध हैjournalctl -u systemd-logind
अलास्दैर

यह लॉग को दिखाना चाहिए, लेकिन सेवा की स्थिति भी।
जकूजी

जवाबों:


48

ऐसा तब होता है जब dbus को पुनः आरंभ किया जाता है, लेकिन systemd-logind को पुनः आरंभ नहीं किया जाता है। बस निम्नलिखित करें:

systemctl restart systemd-logind

समाधान यहाँ से है: https://major.io/2015/07/27/very-slow-ssh-logins-on-fedora-22/


1
पहले से ही प्रश्न में कहा गया है, बग रिपोर्ट अभी भी अनसुलझी है, लेकिन इसे पुनः स्थापित करने के लिए धन्यवाद।
अलास्देयर

नोट: यह नियमित रूप से lightdm अभिवादन में "लॉगिन लूप" भी दे सकता है; एक ही समाधान लागू होता है।
अनहमर

1

का उपयोग करते हुए:

systemctl restart systemd-logind

समस्या को केवल अस्थायी रूप से हल करता है।

एक वर्कअराउंड .scopeक्रोन जॉब से सभी फाइलों को हटाने के लिए है , जैसा कि यहां कहा गया है

* 2,14 * * * root /bin/rm -f /run/systemd/system/*.scope

संबंधित सिस्टमड बग रिपोर्ट यहाँ है: स्कोप की गुंजाइश इकाइयाँ "सिस्टेक्टल लिस्ट-यूनिट-फाइल्स" को धीमा कर रही हैं और लॉगिन में देरी कर रही हैं

ऐसा लगता है कि यह वास्तव में एक dbus बग है: यूनिक्स fd इन-फ्लाइट काउंटिंग टूटी हुई है, जिसे dbus संस्करण 1.11.10 में हल किया गया है

इस बग के स्थायी समाधान के लिए, आपको बस इंतजार करना होगा कि आपके वितरण में डब का यह संस्करण दिखाई दे। अभी के लिए, डेबियन स्ट्रेच dbus 1.10.18, Ubuntu 17.04 (Zesty) 1.10.10 पर है, CentOS 7 dbus 1.6.12 पर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.