Not: Bu bir "Nasıl hata ayıklanır" olarak başladı, öğretici, ancak bir Ubuntu 16.04 LTS sunucusunda bana yardımcı olan bir çözüm oldu .
TLDR : Çalıştırın landscape-sysinfo
ve bu komutun tamamlanması uzun zaman alıyor mu kontrol edin; Yeni bir SSH girişine sistem bilgisi çıktısı. Bu komutun tüm sistemlerde mevcut olmadığını unutmayın, landscape-common
paket yükler. ("Ama bekleyin, dahası var ...")
Makinede sorunu olan başka bir bağlantı noktasında ikinci bir ssh sunucusu başlatın, bunu hata ayıklama modunda yapın; bu işlem çatal yapmaz ve hata ayıklama iletileri yazdırır:
sudo /usr/sbin/sshd -ddd -p 44321
ayrıntılı modda başka bir makineden bu sunucuya bağlanın:
ssh -vvv -p 44321 username@server
Müşterim uyumaya başlamadan hemen önce aşağıdaki satırları çıkarır:
debug1: Entering interactive session.
debug1: pledge: network
Google, gerçekten yararlı değil ancak sunucu günlükleri daha iyi:
debug3: mm_send_keystate: Finished sending state [preauth]
debug1: monitor_read_log: child log fd closed
debug1: PAM: establishing credentials
debug3: PAM: opening session
---- Pauses here ----
debug3: PAM: sshpam_store_conv called with 1 messages
User child is on pid 28051
Ben değiştiğinde fark UsePAM yes
etmek UsePAM no
sonra bu sorun giderilmiştir.
UseDNS
Herhangi bir ayar ile ilgili değil , sadece UsePAM
bu sorunu sistemimde etkiler.
Neden hiçbir ipucu var, ve ben de gitmiyorum UsePAM
de no
ben yan etkiler olan bilmediğimizden, ama bu beni araştırmaya devam etmenizi sağlar.
Lütfen bunun bir cevap olduğunu düşünmeyin, ancak neyin yanlış olduğunu bulmaya başlamak için ilk adım.
Bu yüzden araştırmaya devam ettim ve ( ) sshd
ile koştum . Bu, aşağıdakileri sağladı:strace
sudo strace /usr/sbin/sshd -ddd -p 44321
sendto(4, "<87>Nov 20 20:35:21 sshd[2234]: "..., 110, MSG_NOSIGNAL, NULL, 0) = 110
close(5) = 0
stat("/etc/update-motd.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
umask(022) = 02
rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7ffde6152d2c) = 2385
wait4(2385, # BLOCKS RIGHT HERE, BEFORE THE REST IS PRINTED OUT # [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2385
Çizgi /etc/update-motd.d
beni şüpheli yaptı, görünüşe göre süreç içinde olan şeylerin sonucunu bekliyor/etc/update-motd.d
Bu yüzden cd
'içine d /etc/update-motd.d
ve ran sudo chmod -x *
PAM bu dinamik oluşturmak tüm dosyaları çalıştırmak engellemek amacıyla Message Of The Day
sistem yükünü içerir ve paketler gerekirse yükseltilmiş, ve bu sorunu çözülecek olan.
Bu, 7/24 yapılacak çok işi olan "enerji tasarruflu" N3150 CPU'yu temel alan bir sunucudur, bu yüzden tüm bu sakal verilerinin toplanmasının çok fazla olduğunu düşünüyorum.
Bu klasördeki komut dosyalarını seçerek etkinleştirmeye başlayabilir, hangisinin daha az zararlı olduğunu, ancak özel olarak arama landscape-sysinfo
yapmak çok yavaştır ve 50-landscape-sysinfo
bu komutu çağırır. En büyük gecikmeye neden olanın bu olduğunu düşünüyorum.
Dosyaların çoğu yeniden etkinleştirdikten sonra sonuca vardık
50-landscape-sysinfo
ve 99-esm
benim sorunlarım sebebi idi. 50-landscape-sysinfo
yürütmek için yaklaşık 5 saniye sürdü ve 99-esm
yaklaşık 3 saniye. Kalan tüm dosyalar yaklaşık 2 saniyedir.
Ne 50-landscape-sysinfo
ve 99-esm
çok önemlidir. 50-landscape-sysinfo
ilginç sistem istatistiklerini yazdırır (ve az yer kaplıyorsanız!) ve 99-esm
ilgiliUbuntu Extended Security Maintenance
Sonunda echo '/usr/bin/landscape-sysinfo' > info.sh && chmod +x info.sh
istek üzerine bir senaryo oluşturabilir ve bu çıktıyı alabilirsiniz.