Pada salah satu server saya, saya perhatikan benar-benar menunda login SSH.
Menghubungkan menggunakan opsi ssh -vvv penundaan terjadi pada debug1: Entering interactive session.
ekstrak koneksi:
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 [email protected]
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
menggunakan metode yang diuraikan di sini saya menghasilkan output strace dan memperhatikan garis 14:09:53.676004 ppoll([{fd=5, events=POLLIN}], 1, {24, 999645000}, NULL, 8) = 1 ([{fd=5, revents=POLLIN}], left {0, 0}) <25.020764>
yang membutuhkan waktu 25 detik.
ekstrak dari output strace:
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>
Saya telah memperhatikan entri dalam auth log pada waktu yang relevan:
Jul 21 14:10:18 click sshd[8165]: pam_systemd(sshd:session): Failed to create session: Activation of org.freedesktop.login1 timed out
Tidak cukup mengetahui tentang ini apa yang ia coba jajak pendapat dan mengapa sekarang mengambil 25 detik di server khusus ini.
The journalctl -u systemd-logind
perintah menunjukkan
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.
Mengeluarkan perintah systemctl restart systemd-logind.service
memperbaikinya (untuk saat ini mungkin).
Apa yang Activation of org.freedesktop.login1
disebutkannya? Apakah ada cara saya bisa mencegah keharusan me-restart login di masa depan? Saya berharap seiring waktu saya akan memiliki masalah ini dengan sisa server yang saya kelola.
Hanya memperhatikan ini mulai terjadi di server lain.
$ 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
output diperluas .
EDIT2 - menambahkan status systemd-logind seperti yang disarankan dalam komentar ketika melihat ini dimulai pada server lain.
PEMBARUAN - Ini mulai terjadi pada seluruh server Jessie saya. Apakah saya satu-satunya yang mengalami ini? Pasti ada perbaikan selain memulai kembali systemd-logind, adakah yang punya ide?
Ada laporan bug Debian tentang 770135 ini .
systemcts status systemd-logind
sebelum restart untuk melihat apa yang salah dengannya (keluar, gagal, apa pun).ppoll
hanyalah mediator yang sedang menunggu respons dari systemd sehingga Anda tidak dapat menyalahkannya.systemcts
perintahsystemctl
tentu sajajournalctl -u systemd-logind
Jawaban:
Ini terjadi ketika dbus di-restart, tetapi systemd-logind tidak di-restart. Lakukan saja yang berikut ini:
Solusinya adalah dari sini: https://major.io/2015/07/27/very-slow-ssh-logins-on-fedora-22/
sumber
Menggunakan:
menyelesaikan masalah hanya sementara.
Salah satu solusinya adalah menghapus semua
.scope
file dari pekerjaan cron, seperti yang dinyatakan di sini .Laporan bug systemd terkait ada di sini: Kebocoran unit lingkup memperlambat "systemctl list-unit-file" dan menunda login .
Tampaknya itu sebenarnya bug dbus: unix fd in-flight penghitungan rusak yang diselesaikan dalam dbus versi 1.11.10
Untuk memperbaiki bug ini secara permanen, Anda hanya harus menunggu versi dbus ini muncul di distribusi Anda. Untuk saat ini, Debian Stretch berada di dbus 1.10.18, Ubuntu 17.04 (Zesty) berada di 1.10.10, CentOS 7 di dbus 1.6.12.
sumber