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-sysinfove 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-commonpaket 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 yesetmek UsePAM nosonra bu sorun giderilmiştir.
UseDNSHerhangi bir ayar ile ilgili değil , sadece UsePAMbu sorunu sistemimde etkiler.
Neden hiçbir ipucu var, ve ben de gitmiyorum UsePAMde noben 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 ( ) sshdile koştum . Bu, aşağıdakileri sağladı:stracesudo 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.dbeni şü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.dve ran sudo chmod -x *PAM bu dinamik oluşturmak tüm dosyaları çalıştırmak engellemek amacıyla Message Of The Daysistem 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-sysinfoyapmak çok yavaştır ve 50-landscape-sysinfobu 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-sysinfove 99-esmbenim sorunlarım sebebi idi. 50-landscape-sysinfoyürütmek için yaklaşık 5 saniye sürdü ve 99-esmyaklaşık 3 saniye. Kalan tüm dosyalar yaklaşık 2 saniyedir.
Ne 50-landscape-sysinfove 99-esmçok önemlidir. 50-landscape-sysinfoilginç sistem istatistiklerini yazdırır (ve az yer kaplıyorsanız!) ve 99-esmilgiliUbuntu Extended Security Maintenance
Sonunda echo '/usr/bin/landscape-sysinfo' > info.sh && chmod +x info.shistek üzerine bir senaryo oluşturabilir ve bu çıktıyı alabilirsiniz.