[CentOS ] - วิธีแก้ปัญหา SSH ช้าตอน Connect

Standard

เนื่องต้องการ Monitor Server ตัวอื่น ๆ โดยใช้ Cacti เลยต้องใช้ Template ที่มีการดึงข้อมูลโดยใช้ SSH   Template ที่ใช้เป็นของ Percona     ก็ติดตั้งตามปกติ  Monitor Server อยู่ 12 ตัว  ทุกตัวปกติดี  แต่มีอยู่ 1 ตัวที่ไม่สามารถดึงข้อมูลออกมาได้   ก็เลย Debug ทีละ Step 

php ss_get_by_ssh.php --type proc_stat --host xx.xx.xx.xx --items gw,gx

ปรากฏว่าค่าที่รีเทินออกมาเป็น -1   พบว่าปัญหามาจากขั้นตอนการ SSH ไปที่ Server ซึ่งมันช้าทำให้ PHP ไม่ได้ Output ที่ต้องการ

จากปัญหาที่การ SSH พบว่ามีสาเหตุมาจากสองส่วน
1. มีการตรวจสอบแบบ  GASSAPI
2. มีการตรวจสอบชื่อ Host name กับ DNS

ใช้คำสั่ง ssh -v xx.xx.xx.xx เพื่อเป็นการ Debug จะเจอบรรทัดที่ทำให้ sssh ช้า


debug1: Next authentication method: gssapi-with-mic
บรรทัดนี้เกิดจาก มีการตรวจสอบแบบ GASSAPI

debug1: SSH2_MSG_SERVICE_ACCEPT received
บรรทัดนี้เกิดจาก มีการตรวจสอบชื่อ Host name กับ DNS
วิธีแก้  ต้องแก้ config ของ ssh   ใน /etc/ssh/ssh_config

ปัญหาตามข้อที่ 1 ให้แก้ config ตามนี้
# GSSAPI options
GSSAPIAuthentication no
GSSAPICleanupCredentials no
...


ปัญหาข้อที่ 2 ให้แก้ config ตามนี้
...
UseDNS no
...

จากนั้น Restart Service SSHD
[root@ssh-server ssh]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@ssh-server ssh]#


เมื่อแก้เสร็จแล้ว Cacti ก็สามารถดึงข้อมูลมาแสดงกราฟได้ปกติ



Ref : http://spalinux.com/2009/02/solve_slow_login_secure_shell