SSH ค้างเมื่อไม่ได้ใช้งานชั่วขณะ


9

เชื่อมต่อจากsshไคลเอนต์Ubuntu Desktop x64 14.04 กับเซิร์ฟเวอร์ Ubuntu Server 14.04 x64 SSH บน Microsoft Azure

น่าเสียดายที่มันเชื่อมต่อและไม่ได้ใช้งานเป็นเวลา การเชื่อมต่อค้าง แต่ไม่ตัดการเชื่อมต่อ

ฉันได้ลองตั้งค่าตัวแปรเหล่านี้ในเซิร์ฟเวอร์ของฉัน/etc/ssh/sshd_config:

ClientAliveInterval 30
TCPKeepAlive yes
ClientAliveCountMax 99999

man ssh_config สามารถช่วยลูกค้าได้
c4f4t0r

การเชื่อมต่อตัดการเชื่อมต่อหรือไม่ถ้าคุณกดปุ่มในหน้าต่าง SSH หลังจากแช่แข็ง อาจใช้เวลาหนึ่งหรือสองนาทีก่อนที่จะตัดการเชื่อมต่อ หากเป็นกรณีนี้แสดงว่าปัญหาการเชื่อมต่อเครือข่ายระหว่างทั้งสองทำให้เกิดปัญหานี้
Tero Kilkanen

ฉันเห็นพฤติกรรมเดียวกันในการเชื่อมต่อผ่าน SSH ไปยัง Rackspace Cloud Servers หลังจากอัพเกรดเวิร์กสเตชันของฉันเป็น 14.04 นี่แสดงว่าเป็นข้อบกพร่องของไคลเอ็นต์และไม่ใช่สิ่งผิดปกติกับ sshd หรือ Azure
jalefkowit

ฉันมีปัญหาเดียวกันแก้ไขโดยใช้ Mosh
Janus Troelsen

เพื่อหลีกเลี่ยงปัญหาฉันเรียกใช้สคริปต์นี้เมื่อไม่ทำงาน:while true; do echo -n $'\r'$i; echo -n $(date +"%H:%M:%S"); sleep 5; done
LatinSuD

คำตอบ:


6

บนไคลเอ็นต์ที่เชื่อมต่อใน / etc / ssh / ssh_config ให้ลอง:

ServerAliveInterval 60

ไม่แน่ใจว่าทำไม ClientAliveInterval ไม่ทำงานสำหรับคุณบนเซิร์ฟเวอร์ .... บางทีคุณอาจต้องรีสตาร์ท sshd ถ้าคุณไม่ทำหลังจากเพิ่มคำสั่ง ClientAliveInterval แล้ว?

ถ้าคุณไม่มีรูทบนไคลเอนต์คุณสามารถติด ServerAliveInterval ใน

~ / .ssh / config


2
อาจKeepAlive yesจะหายไป ผมคิดว่า keepalives จะช่วยแก้ปัญหาของผู้ใช้งานได้ดี ความเสี่ยงเพียงอย่างเดียวกับ keepalives คือปัญหาการเชื่อมต่อสามารถกระตุ้นการเชื่อมต่อให้ตายได้โดยที่ไม่มี keepalives ปัญหาการเชื่อมต่อบางอย่างระหว่างคุณและเซิร์ฟเวอร์อาจไม่มีใครสังเกตเห็นได้อย่างสง่างาม
ระเบียบ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.