การเชื่อมต่อกับหนึ่งในเซิร์ฟเวอร์ของฉันโดยใช้ ssh ใช้เวลามากกว่า 20 วินาทีในการเริ่มต้น
นี้ไม่เกี่ยวข้องกับเงื่อนไข LAN หรือ WAN เนื่องจากการเชื่อมต่อกับตัวเองใช้เวลาเดียวกัน (ssh localhost) ในที่สุดหลังจากการเชื่อมต่อถูกจัดตั้งขึ้นในที่สุดมันก็เร็วสุดที่จะเข้าไปแทรกแซงกับเซิร์ฟเวอร์
ใช้ -vvv แสดงว่าการเชื่อมต่อค้างหลังจากพูดว่า "pledge: network" ณ จุดนี้การรับรองความถูกต้อง (ที่นี่ใช้รหัส) เสร็จเรียบร้อยแล้วตามที่ปรากฏที่นี่:
...
debug1: Authentication succeeded (publickey).
Authenticated to myserver.mydomain.com ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
(... ติดอยู่ที่นี่เป็นเวลา 15 ถึง 25 วินาที ... )
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
...
เซิร์ฟเวอร์คือ Ubuntu 16.04 มันเคยเกิดขึ้นกับฉันในอดีตกับเซิร์ฟเวอร์อื่น (เป็น Ubuntu 12.04), nerver พบวิธีแก้ปัญหาและปัญหาหายไปหลังจากที่ในขณะ ...
sshd_config เป็นโปรแกรมเริ่มต้นที่จัดทำโดย Ubuntu
จนถึงตอนนี้ฉันได้ลอง:
- ใช้ -o GSSAPIAuthentication = no ในคำสั่ง ssh
- ใช้รหัสผ่านแทนรหัส
- ใช้ UsePrivilegeSeparation no แทนใช่ใน sshd_config
systemctl restart systemd-logind
แก้ไขปัญหาเฉพาะช่วงเวลาสั้น ๆ สำหรับฉัน
pam_systemd(sshd:session): Failed to create session: Connection timed out
ดังที่ได้กล่าวไว้ในคำตอบอาจเป็นgithub.com/systemd/systemd/issues/2925