เริ่มจากไคลเอนต์
แทน user และ server.example ด้วยบัญชีและโฮสต์จริง Connection refused คือปฏิเสธการเชื่อมต่อโดยตรง timeout อาจเกิดจากเส้นทาง ตัวกรองหรือปลายทางไม่ตอบ ส่วน Permission denied คือไม่ผ่านการยืนยันตัวตน ปกปิดข้อมูลระบุตัวตนในบันทึกละเอียดก่อนแบ่งปัน
ssh -vvv -o ConnectTimeout=5 -p 22 user@server.example
ssh -4 -o ConnectTimeout=5 user@server.example
ssh -6 -o ConnectTimeout=5 user@server.exampleตรวจ Linux ผ่านคอนโซล
บน Ubuntu หรือ Debian ตรวจบริการ ssh พอร์ตที่ฟัง ไวยากรณ์และ journal ยืนยันพอร์ตจริงและไฟร์วอลล์ทั้งสองทิศทาง timeout ไม่ใช่หลักฐานว่าเครื่องปิด ดิสทริบิวชันอื่นอาจใช้ sshd.service ให้คงทางเข้าคอนโซลระหว่างเปลี่ยนแปลง
sudo systemctl status ssh.service
sudo ss -lntp
sudo /usr/sbin/sshd -t
sudo journalctl -u ssh.service -n 50 --no-pagerแก้การยืนยันตัวตนโดยไม่ลดความเชื่อถือ
ตรวจชื่อผู้ใช้ คีย์ส่วนตัวที่เลือก เจ้าของและสิทธิ์ authorized_keys บนเซิร์ฟเวอร์ IdentitiesOnly ใช้ทดสอบคีย์ที่ต้องการ ยืนยันคีย์โฮสต์ที่เปลี่ยนผ่านช่องทางอิสระที่เชื่อถือได้ อย่าปิด StrictHostKeyChecking หรือลบ known_hosts โดยไม่ตรวจ CH-J Diagnostics ทดสอบ TCP ได้โดยไม่ล็อกอิน SSH
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519_chj user@server.example
ssh-keygen -F server.example