ทำไมการเข้าสู่ระบบ SSH ของฉันจึงช้า


95

ฉันเห็นความล่าช้าในการเข้าสู่ระบบ SSH โดยเฉพาะมี 2 จุดที่ฉันเห็นช่วงจากความล่าช้าทันทีไปหลายวินาที

  1. ระหว่างการออกคำสั่ง ssh และรับพรอมต์การเข้าสู่ระบบและ
  2. ระหว่างการป้อนวลีรหัสผ่านและการโหลดเชลล์

ตอนนี้โดยเฉพาะฉันกำลังดูรายละเอียด ssh เฉพาะที่นี่ เห็นได้ชัดว่าเวลาแฝงของเครือข่ายความเร็วของฮาร์ดแวร์และระบบปฏิบัติการที่เกี่ยวข้องสคริปต์การเข้าสู่ระบบที่ซับซ้อน ฯลฯ อาจทำให้เกิดความล่าช้าได้ สำหรับบริบทฉันพบกับลินุกซ์มากมายและโฮสต์โซลาริสบางตัวที่ใช้ Ubuntu, CentOS และ MacOS X ส่วนใหญ่เป็นระบบไคลเอนต์ของฉัน เกือบตลอดเวลาการกำหนดค่าเซิร์ฟเวอร์ ssh ไม่เปลี่ยนแปลงจากการตั้งค่าเริ่มต้นของระบบปฏิบัติการ

ฉันควรสนใจการกำหนดค่าเซิร์ฟเวอร์ ssh ใด มีพารามิเตอร์ OS / kernel ที่สามารถปรับได้หรือไม่? เทคนิคการเข้าสู่ระบบเปลือก? etc?


คุณใช้บัญชีท้องถิ่นใช่ไหม - บางครั้งฉันพบตรวจสอบ PAM สามารถเพิ่มความล่าช้าในการเข้าสู่ระบบด้วย SSH
Sirex

โดยปกติแล้วบัญชีท้องถิ่น บางครั้ง NIS
ปีเตอร์ลียง

คำตอบ:


122

ลองตั้งค่าUseDNSที่จะnoในหรือ/etc/sshd_config/etc/ssh/sshd_config


7
+1 ที่เป็นสาเหตุที่พบบ่อยที่สุดของความล่าช้าเมื่อลงชื่อเข้าใช้ ssh
matthias krull

2
"Solaris 11 note: ฉันลองใช้งานไม่มีการตั้งค่า UseDNS บน Solaris 11 และบริการเริ่มต้นไม่ได้เป็นการตอบสนองที่เป็นมิตรจากบริการ YMMV กับตัวแปรอื่น ๆ * ระวัง แต่ดูเหมือนว่า UseDNS อาจไม่ใช่ตัวเลือกที่ถูกต้องใน Solaris 11 ." - ความคิดเห็นโดยKeith Hoffman
Sathyajith Bhat

3
ฉันไม่เชื่อเพราะฉันใช้เข้าสู่ระบบโดยใช้ที่อยู่ IP (LAN ภายในบ้าน) แต่วิธีนี้แก้ไขปัญหาของฉันได้ เพื่อประโยชน์ของ Google แม้ว่าจะเกิดขึ้นหลังจากนั้นความล่าช้าก็ไม่เกี่ยวข้องกับข้อความ "key: /home/mylogin/.ssh/id_ecdsa ((ไม่มี))" (เมื่อทำงานssh -vvv)
Skippy le Grand Gourou

2
+1 สำหรับการทำให้ชัดเจนไฟล์/etc/ssh/sshd_config! ฉันกำลังเพิ่ม/etc/sshd_configและไม่เห็นความแตกต่างเลย !!
vyom

1
@SkippyleGrandGourou: Solaris บางรุ่นใช้ OpenSSH ที่แก้ไขซึ่งเรียกว่า SunSSH ซึ่งมีความไม่ลงรอยกันที่น่ารำคาญ Solaris 11.3 เพิ่ม OpenSSH back และ SunSSH จะถูกลบในที่สุด ...
Gert van den Berg

37

เมื่อฉันวิ่งssh -vvvบนเซิร์ฟเวอร์ที่มีประสิทธิภาพช้าคล้ายกันฉันเห็นการแฮงค์ที่นี่:

debug1: Next authentication method: gssapi-with-mic

โดยการแก้ไข/etc/ssh/ssh_configและแสดงความคิดเห็นวิธีการรับรองความถูกต้องฉันได้รับประสิทธิภาพการเข้าสู่ระบบกลับสู่ปกติ นี่คือสิ่งที่ฉันมีใน/etc/ssh/ssh_configเซิร์ฟเวอร์ของฉัน:

GSSAPIAuthentication no

คุณสามารถตั้งค่านี้ได้ทั่วโลกบนเซิร์ฟเวอร์ดังนั้นจึงไม่ยอมรับ GSSAPI ในการตรวจสอบสิทธิ์ เพียงแค่เพิ่มGSSAPIAuthentication noการ/etc/ssh/sshd_configบนเซิร์ฟเวอร์และเริ่มบริการ


ฉันพบว่าสิ่งนี้เป็นจริงกับเซิร์ฟเวอร์ RHEL5 ของฉันเมื่อ winbind / การเข้าสู่ระบบโฆษณาได้รับการกำหนดค่า
ชาด

สิ่งนี้ใช้ได้กับฉันบนเซิร์ฟเวอร์ Ubuntu 14.04
Penghe Geng

สำหรับ CentOS 7 ต้องตั้งทั้งสองGSSAPIAuthentication noและUseDNS noใน/etc/ssh/sshd_configไฟล์
Sunry

19

สำหรับฉันแล้วผู้ร้ายคือความละเอียด IPv6 มันหมดเวลาแล้ว (การตั้งค่า DNS ไม่ถูกต้องที่ผู้ให้บริการโฮสต์ของฉันฉันเดา) ฉันค้นพบสิ่งนี้ด้วยการทำssh -vซึ่งแสดงให้เห็นว่าขั้นตอนใดที่แขวนอยู่

การแก้ปัญหาคือไปsshกับ-4ตัวเลือก:

ssh -4 me@myserver.com


2
ฉันสงสัยว่าพวกเราจะเห็นสิ่งนี้มากขึ้นเมื่อเวลาผ่านไปและสิ่งต่าง ๆ (ไม่ดีและ) รองรับ IPV6 อย่างช้าๆ ขอบคุณ!
ปราชญ์

1
... และคำตอบนี้ไม่ช่วยเหลือเป็นพิเศษหากไม่มีข้อความดีบั๊กที่ยืนยันว่านี่เป็นปัญหา
EP

มันเป็นประสบการณ์ของฉันว่านี่เป็นปัญหาที่พบบ่อยมากเมื่อ SSH กำลังฟังบนอินเทอร์เฟซแบบ dualstack และสิ่งแรกที่ฉันตรวจสอบเมื่อฉันสามารถเข้าสู่ระบบ แต่ใช้เวลามากกว่าที่คาดไว้
Mogget

มีโอกาสใดบ้างที่เราจะสามารถแก้ไข IPv6 แทนที่จะเริ่มต้นเป็น IPv4 ได้บ้าง?
msrd0

นี่อาจเป็นเหตุผลที่ UseDNS ไม่ทำงาน ใช้ -vvv เพียงแสดงว่าหยุดชั่วคราวโดยdebug2: resolving "thing.net.au" port 22ไม่มีข้อผิดพลาด แต่สิ่งนี้ไม่ได้เกิดขึ้นกับ -4 แสดงว่าเป็นปัญหา DNS IPv6
pmc

16

ด้วย systemd การเข้าสู่ระบบอาจหยุดทำงานในการสื่อสาร dbus ด้วย logind หลังจากการอัพเกรดบางอย่างจากนั้นคุณต้องรีสตาร์ท logind

systemctl restart systemd-logind

เห็นว่าใน debian 8, arch linx และในรายการ suse


1
โอ้ว้าวตอนนี้เป็นผู้กระทำผิด! ขอบคุณมัด!
mahatmanich

เหมือนกับฉัน. ใช้เวลาสักครู่เพื่อตัดปัญหา DNS และ SSH ที่เป็นไปได้ทั้งหมดก่อน หมายเหตุ: หากปัญหานี้เกิดขึ้นกับ sudo ช้าเช่นกันให้ลองวิธีนี้ก่อน
ไมเคิล

ฉันเพิ่งอัปเกรดแบบแทนที่จาก RHEL6 เป็น RHEL7 และสังเกตเห็นปัญหานี้ คำตอบนี้ยังแก้ไขปัญหาของฉัน
user53029

ขอบคุณมากมันใช้งานได้เหมือนมีเสน่ห์
Bảo Nam

9

คุณสามารถเริ่มต้นsshด้วย-vตัวเลือกที่แสดงสิ่งที่กำลังทำอยู่ในขณะนี้

$ ssh -v you@host

ด้วยข้อมูลที่คุณให้ฉันสามารถแนะนำการกำหนดค่าฝั่งไคลเอ็นต์บางอย่างเท่านั้น:

  • เนื่องจากคุณเขียนว่าคุณป้อนรหัสผ่านด้วยตนเองฉันขอแนะนำให้คุณใช้การรับรองความถูกต้องของรหัสสาธารณะถ้าเป็นไปได้ สิ่งนี้จะลบคุณในฐานะคอขวดความเร็ว

  • คุณสามารถปิดใช้งานการส่งต่อ X ด้วย-xและการส่งต่อการรับรองความถูกต้องด้วย-a(ค่าเริ่มต้นเหล่านี้อาจถูกปิดใช้งานแล้ว) การปิดใช้งานการส่งต่อ X โดยเฉพาะอย่างยิ่งสามารถช่วยให้คุณปรับปรุงความเร็วได้อย่างรวดเร็วหากลูกค้าของคุณต้องการเริ่ม X-server สำหรับsshคำสั่ง (เช่นภายใต้ OS X)

ทุกอย่างอื่นขึ้นอยู่กับประเภทของความล่าช้าที่คุณพบที่ไหนและเมื่อใด


คำแนะนำที่ดีเกี่ยวกับการใช้คำฟุ่มเฟือยคุณสามารถเพิ่มได้โดยการเพิ่ม v มากถึง 3 IIRC
vtest

7

เกี่ยวกับจุดที่ 2 นี่คือคำตอบที่ไม่จำเป็นต้องแก้ไขเซิร์ฟเวอร์หรือต้องการสิทธิ์ผู้ดูแลระบบ / ผู้ดูแลระบบ

คุณต้องแก้ไขไฟล์ "user ssh_config" ซึ่งก็คือ:

vi $HOME/.ssh/config

(หมายเหตุ: คุณจะต้องสร้างไดเรกทอรี $ HOME / .ssh หากไม่มีอยู่)

และเพิ่ม:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

คุณสามารถทำได้ตามตัวอย่างต่อโฮสต์หากต้องการ :):

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

ตรวจสอบว่าที่อยู่ IP ตรงกับ IP ของเซิร์ฟเวอร์ของคุณ ข้อดีอย่างหนึ่งที่น่าสนใจคือตอนนี้ ssh จะให้การเติมข้อความอัตโนมัติสำหรับเซิร์ฟเวอร์นี้ ดังนั้นคุณจึงสามารถพิมพ์ssh lin+ และมันควรจะเติมข้อความอัตโนมัติTabssh linux-srv


4

ตรวจสอบ/etc/resolv.confบนเซิร์ฟเวอร์เพื่อให้แน่ใจว่าเซิร์ฟเวอร์ DNS ที่อยู่ในรายการนี้ใช้งานได้และลบ DNS ที่ไม่ทำงาน

บางครั้งมันมีประโยชน์มาก


2

นอกจากปัญหา DNS ที่กล่าวถึงแล้วหากคุณกำลังเข้าสู่เซิร์ฟเวอร์ที่มีการติดตั้ง NFS จำนวนมากอาจมีความล่าช้าระหว่างรหัสผ่านและพรอมต์เมื่อquotaคำสั่งตรวจสอบการใช้งาน / โควต้าของคุณในระบบไฟล์ทั้งหมดที่ไม่ได้เชื่อมnoquotaต่อ บนระบบปฏิบัติการ Solaris คุณสามารถดูนี้ในการเริ่มต้น และข้ามไปได้โดยการเรียกใช้/etc/profiletouch $HOME/.hushlogin


1

ทำงานได้ดี

# uname -a
SunOS oi-san-01 5.11 oi_151a3 i86pc i386 i86pc Solaris
# ssh -V
Sun_SSH_1.5, SSH protocols 1.5/2.0, OpenSSL 0x009080ff
# echo "GSSAPIAuthentication no" >> /etc/ssh/sshd_config
# echo "LookupClientHostnames no" >> /etc/ssh/sshd_config
# svcadm restart ssh

UseDNS ไม่ทำงานกับ OpenIndiana !!!

อ่าน "man sshd_config" สำหรับตัวเลือกทั้งหมด

"LookupClientHostnames no" หากเซิร์ฟเวอร์ของคุณไม่สามารถแก้ไขได้


1

หากคำตอบข้างต้นไม่ทำงานและคุณประสบปัญหาการค้นหาย้อนกลับของ DNS คุณสามารถตรวจสอบว่าnscd(ชื่อบริการแคชภูต) ติดตั้งและทำงานอยู่

หากปัญหานี้เป็นเพราะคุณไม่มีแคช DNS และทุกครั้งที่คุณค้นหาชื่อโฮสต์ที่ไม่ได้อยู่ใน hostfile ของคุณคุณส่งคำถามไปยังเซิร์ฟเวอร์ชื่อของคุณแทนที่จะมองหาแคชของคุณ

ฉันลองตัวเลือกทั้งหมดข้างต้นและการเปลี่ยนแปลงเพียงอย่างเดียวก็เริ่มต้นnscdขึ้น

คุณควรตรวจสอบคำสั่งซื้อเพื่อทำการแก้ไขเคียวรี dns /etc/nsswitch.confเพื่อใช้ไฟล์โฮสต์ก่อน


1

นี่อาจเป็นเฉพาะกับ Debian / Ubuntu OpenSSH เท่านั้นซึ่งรวมถึง user-group-modes.patch ที่เขียนโดยหนึ่งในผู้ดูแลแพคเกจ Debian แพตช์นี้อนุญาตให้ไฟล์ ~ / .ssh มีกลุ่มบิตที่เขียนได้ (g + w) หากมีผู้ใช้เพียงคนเดียวที่มี gid เช่นเดียวกับไฟล์นั้น ฟังก์ชั่น secure_permissions () ของแพทช์ทำการตรวจสอบนี้ หนึ่งในขั้นตอนของการตรวจสอบคือการผ่านแต่ละรายการ passwd โดยใช้ getpwent () และเปรียบเทียบ gid ของรายการกับ gid ของไฟล์

บนระบบที่มีรายการจำนวนมากและ / หรือการพิสูจน์ตัวตน NIS / LDAP ช้าการตรวจสอบนี้จะช้า nscd ไม่แคชการโทร getpwent () ดังนั้นทุกรายการ passwd จะถูกอ่านผ่านเครือข่ายหากเซิร์ฟเวอร์ไม่ได้อยู่ในระบบ ในระบบที่ฉันพบสิ่งนี้มันเพิ่มประมาณ 4 วินาทีสำหรับการร้องขอ ssh หรือการเข้าสู่ระบบแต่ละครั้ง

การแก้ไขคือการเอาบิตที่สามารถเขียนได้ในทุกไฟล์ใน ~ / .ssh chmod g-w ~/.ssh/*โดยการทำ


1

ฉันพบว่าการรีสตาร์ท systemd-logind.service เพียง แต่รักษาปัญหาไว้สองสามชั่วโมง การเปลี่ยน UsePAM จากใช่เป็นไม่ใช่ใน sshd_config มีผลในการเข้าสู่ระบบอย่างรวดเร็วแม้ว่า motd จะไม่ปรากฏอีกต่อไป ความคิดเห็นเกี่ยวกับปัญหาด้านความปลอดภัย?


ฉันได้ทำตามข้อเสนอแนะอื่น ๆ ที่นี่และนี่เป็นสิ่งเดียวที่แก้ไขปัญหาใน Samba4 ของฉันเปิดใช้งานเซิร์ฟเวอร์ ... ขอบคุณ!
Deven Phillips

คำเตือน: ไม่รองรับ 'UsePAM no' ใน Red Hat Enterprise Linux และอาจทำให้เกิดปัญหาหลายประการ
bbaassssiiee

1

เพื่อให้คำตอบทั้งหมดแสดงว่าการแก้ปัญหา DNS อาจทำให้การเข้าสู่ระบบของคุณช้าลงบางครั้งกฎของไฟร์วอลล์ก็หายไป ตัวอย่างเช่นถ้าคุณ DROP INPUT paquets ทั้งหมดตามค่าเริ่มต้น

iptables -t filter -P INPUT DROP

จากนั้นคุณจะต้องยอมรับ INPUT สำหรับพอร์ต ssh และคำขอ DNS

iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

1

ssh -vvv การเชื่อมต่อดีขึ้นจริง ๆ จนกระทั่งมันแขวนอยู่บนระบบพยายามที่จะรับเครื่องเป็นเวลาอย่างน้อย 20 วินาที:

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.
... waiting ... waiting ... waiting

หลังจากทำsystemctl restart systemd-logind บนเซิร์ฟเวอร์ฉันมีการเชื่อมต่อทันทีอีกครั้ง!

นี่คือdebian8 ! ดังนั้น systemd เป็นปัญหาที่นี่!

หมายเหตุ: Bastien Durel ได้ให้คำตอบสำหรับปัญหานี้แล้วอย่างไรก็ตามไม่มีข้อมูลการแก้ปัญหา ฉันหวังว่านี่จะเป็นประโยชน์กับใครบางคน


ผมมีปัญหาเดียวกันกับ "การเข้าสู่เซสชั่นแบบโต้ตอบ" แขวนอยู่บน RHEL7 (CentOS 7) และแก้ไขได้โดยการแสดงความคิดเห็นออกในsession [default=1] pam_lastlog.so nowtmp showfailed /etc/pam.d/postloginเห็นได้ชัดว่าการอัปเดตไฟล์ Lastlog นั้นช้ามากอย่างไม่น่าเชื่อใน OpenVZ VPS บนภาชนะของฉัน
Justin ᚅᚔᚈᚄᚒᚔ

1

ฉันเพิ่งพบสาเหตุของการเข้าสู่ระบบ SSH ช้าอีก

แม้ว่าคุณจะมีUseDNS noใน/etc/sshd_configsshd อาจยังคงทำการค้นหา DNS ย้อนกลับหาก/etc/hosts.denyมีรายการเช่น:

nnn-nnn-nnn-nnn.rev.some.domain.com

อาจเกิดขึ้นหากคุณติดตั้งDenyHostsในระบบของคุณ

มันจะดีถ้ามีคนรู้วิธีที่จะทำให้ DenyHosts /etc/hosts.denyหลีกเลี่ยงการวางชนิดของรายการนี้ใน

นี่คือลิงค์ไปสู่คำถามที่พบบ่อยเกี่ยวกับวิธีลบรายการจากDenyHosts/etc/hosts.deny - ดูฉันจะลบที่อยู่ IP ที่ DenyHosts บล็อกได้อย่างไร


1

เราอาจพบว่าวิธีการจำแนกชื่อที่ต้องการไม่ใช่ไฟล์โฮสต์จากนั้น DNS

ตัวอย่างเช่นนี่จะเป็นการกำหนดค่าตามปกติ:

[root@LINUX1 ~]# cat /etc/nsswitch.conf|grep hosts
#hosts:     db files nisplus nis dns
hosts:      files dns myhostname

ก่อนอื่นมาถึงไฟล์โฮสต์ (ตัวเลือก: ไฟล์) แล้ว DNS (ตัวเลือก: dns) อย่างไรก็ตามเราสามารถพบว่ามีการเพิ่มระบบการจำแนกชื่ออื่นที่ไม่สามารถใช้งานได้

หากลำดับการแก้ไขชื่อไม่ถูกต้องคุณสามารถเปลี่ยนได้ที่: /etc/nsswitch.conf

แยกจาก: http://www.sysadmit.com/2017/07/linux-ssh-login-lento.html


1

ฉันลองคำตอบทั้งหมด แต่ก็ไม่ได้ผล ในที่สุดฉันก็พบปัญหาของฉัน:

ครั้งแรกที่ฉันเรียกใช้sudo tail -f /var/log/auth.log เพื่อให้ฉันสามารถดูบันทึกของ SSH แล้วในเซสชั่นอื่นทำงานssh 172.16.111.166และสังเกตเห็นการรอ

/usr/bin/sss_ssh_knownhostsproxy -p 22 172.16.111.166

หลังจากค้นหาฉันพบบรรทัดนี้ใน / etc / ssd / ssh_config

ProxyCommand /usr/bin/sss_ssh_knownhostsproxy -p %p %h

ฉันแสดงความคิดเห็นและความล่าช้าก็หายไป


1

หมายเหตุ: สิ่งนี้เริ่มต้นเป็น "วิธีการแก้ปัญหา", บทช่วยสอน, แต่จบลงด้วยการเป็นโซลูชันที่ช่วยฉันบนเซิร์ฟเวอร์Ubuntu 16.04 LTS

TLDR : เรียกใช้landscape-sysinfoและตรวจสอบว่าคำสั่งนั้นใช้เวลานานกว่าจะเสร็จหรือไม่ เป็นข้อมูลระบบที่พิมพ์ออกมาในการเข้าสู่ระบบ SSH ใหม่ โปรดทราบว่าคำสั่งนี้ไม่สามารถใช้ได้กับทุกระบบlandscape-commonแพ็คเกจจะติดตั้ง ("แต่เดี๋ยวก่อนยังมีอีก ... ")


เริ่มเซิร์ฟเวอร์ ssh ตัวที่สองบนพอร์ตอื่นบนเครื่องที่มีปัญหาทำเช่นนั้นในโหมดดีบักซึ่งจะไม่ทำให้เกิดการแยกและจะพิมพ์ข้อความดีบั๊ก:

sudo /usr/sbin/sshd -ddd -p 44321

เชื่อมต่อกับเซิร์ฟเวอร์นั้นจากเครื่องอื่นในโหมด verbose:

ssh -vvv -p 44321 username@server

ไคลเอ็นต์ของฉันแสดงบรรทัดต่อไปนี้ทันทีก่อนที่จะเริ่มโหมดสลีป:

debug1: Entering interactive session.
debug1: pledge: network

Googling ที่ไม่เป็นประโยชน์จริงๆ แต่บันทึกของเซิร์ฟเวอร์ดีกว่า:

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

ฉันสังเกตเห็นว่าเมื่อฉันเปลี่ยนUsePAM yesไปUsePAM noแล้วปัญหานี้จะได้รับการแก้ไข

ไม่เกี่ยวข้องUseDNSหรือตั้งค่าอื่นใดUsePAMมีผลกับปัญหานี้ในระบบของฉันเท่านั้น

ฉันมีเงื่อนงำทำไมไม่และฉันยังไม่ได้ออกจากUsePAMที่noเพราะผมไม่ทราบว่าผลข้างเคียงมี แต่นี้จะช่วยให้ฉันยังคงสืบสวน

ดังนั้นโปรดอย่าคิดว่านี่เป็นคำตอบ แต่เป็นขั้นตอนแรกเพื่อเริ่มค้นหาว่ามีอะไรผิดปกติ


ดังนั้นฉันจึงตรวจสอบต่อไปและวิ่งไปsshdกับ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

เส้น/etc/update-motd.dทำให้ฉันสงสัยว่ากระบวนการรอผลของสิ่งที่อยู่ในนั้น/etc/update-motd.d

ดังนั้นฉันจึงcdเข้าไป/etc/update-motd.dและรัน a sudo chmod -x *เพื่อยับยั้ง PAM ให้เรียกใช้ไฟล์ทั้งหมดที่สร้างไดนามิกนี้Message Of The Dayซึ่งรวมถึงโหลดระบบและหากแพ็คเกจจำเป็นต้องอัพเกรดและสิ่งนี้สามารถแก้ไขปัญหาได้

นี่คือเซิร์ฟเวอร์ที่ใช้ซีพียู N3150 ที่ประหยัดพลังงานซึ่งมีงานมากมายให้ทำตลอด 24 ชั่วโมงทุกวันดังนั้นฉันคิดว่าการรวบรวม motd-data ทั้งหมดนี้มากเกินไป

ฉันอาจเริ่มเปิดใช้งานสคริปต์ในโฟลเดอร์นั้นแบบเลือกเพื่อดูว่ามีอันตรายน้อยกว่า แต่การโทรพิเศษlandscape-sysinfoช้ามากและ50-landscape-sysinfoเรียกคำสั่งนั้น ฉันคิดว่าเป็นสิ่งที่ทำให้เกิดความล่าช้ามากที่สุด

หลังจากเปิดใช้งานไฟล์ส่วนใหญ่อีกครั้งฉันได้ข้อสรุปว่า 50-landscape-sysinfoและ99-esmเป็นสาเหตุของปัญหาของฉัน 50-landscape-sysinfoใช้เวลาประมาณ 5 วินาทีในการดำเนินการและ99-esmประมาณ 3 วินาที ไฟล์ที่เหลือทั้งหมดประมาณ 2 วินาทีพร้อมกัน

ไม่50-landscape-sysinfoและ99-esmมีความสำคัญ 50-landscape-sysinfoพิมพ์สถิติของระบบที่น่าสนใจ (และถ้าคุณมีพื้นที่เหลือน้อย!) และ99-esmพิมพ์ข้อความที่เกี่ยวข้องUbuntu Extended Security Maintenance

ในที่สุดคุณสามารถสร้างสคริปต์ด้วยecho '/usr/bin/landscape-sysinfo' > info.sh && chmod +x info.shและรับงานพิมพ์นั้นตามที่ร้องขอ


1

เธรดนี้ได้ให้การแก้ปัญหาแล้ว แต่ไม่ได้รับของฉันที่นี่ =) ดังนั้นนี่คือ ปัญหาของฉัน (ใช้เวลาประมาณ 1 นาทีในการล็อกอินเข้าสู่ rshberry pi ของฉัน) เนื่องจากไฟล์. bash_history เสียหาย เนื่องจากไฟล์ถูกอ่านเมื่อเข้าสู่ระบบนี่เป็นสาเหตุที่ทำให้การเข้าสู่ระบบล่าช้า เมื่อฉันลบไฟล์แล้วเวลาเข้าสู่ระบบก็กลับเป็นปกติเหมือนทันที

หวังว่าจะช่วยคนอื่นได้บ้าง


0

สำหรับฉันฉันต้องการ GSSAPI และฉันไม่ต้องการปิดการค้นหา DNS ย้อนกลับ นั่นดูเหมือนจะไม่เป็นความคิดที่ดีดังนั้นฉันจึงตรวจสอบหน้าหลักของ resolv.conf ปรากฎว่าไฟร์วอลล์ระหว่างฉันและเซิร์ฟเวอร์ที่ฉันเป็น SSHing ถูกรบกวนคำขอ DNS เพราะพวกเขาไม่ได้อยู่ในรูปแบบที่ไฟร์วอลล์คาดไว้ ในที่สุดสิ่งที่ฉันต้องทำคือเพิ่มบรรทัดนี้เพื่อ resolv.conf บนเซิร์ฟเวอร์ที่ฉันเป็น SSHing ไปที่:

options single-request-reopen


0

โดยเฉพาะอย่างยิ่งการอัปเดตแพคเกจของการผูกบน CentOS 7 ที่แตกชื่อตอนนี้ระบุในบันทึกที่ /etc/named.conf มีปัญหาสิทธิ์ มันใช้งานได้ดีเป็นเวลาหลายเดือนกับ 0640 ตอนนี้มันต้องการ 0644 นี่มันสมเหตุสมผลแล้วที่ named daemon เป็นของผู้ใช้ 'named'

ด้วยการตั้งชื่อทุกอย่างช้าจากการเข้าสู่ระบบ ssh ไปยังการให้บริการหน้าเว็บจากเซิร์ฟเวอร์ท้องถิ่นแอพ LAMPish แอพพลิเคชั่น ฯลฯ อาจเป็นเพราะคำขอทั้งหมดจะหมดเวลาบนเซิร์ฟเวอร์ภายในเครื่องที่ตายก่อนที่จะมองหา DNS รองภายนอกที่กำหนดค่า


0

สำหรับฉันมีปัญหาใน/etc/hostsไฟล์ในเครื่องของฉัน ดังนั้นsshลอง IP ที่แตกต่างกันสองตัว (ผิดหนึ่งข้อ) ซึ่งทำให้หมดเวลาตลอดไป

การใช้ssh -vเคล็ดลับที่นี่:

$ ssh -vvv remotesrv
OpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1k 8 Jan 2015
debug1: Reading configuration data /home/mathieu/.ssh/config
debug1: /home/mathieu/.ssh/config line 60: Applying options for remotesrv
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to remotesrv [192.168.0.10] port 22.
debug1: connect to address 192.168.0.10 port 22: Connection timed out
debug1: Connecting to remotesrv [192.168.0.26] port 22.
debug1: Connection established.

/etc/hostsของเซิร์ฟเวอร์?
Daniel F
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.