อาการ SSH เข้าไม่ได้มีหลายสาเหตุ การไล่ตรวจเป็นลำดับจากไกลไปใกล้ ช่วยให้หาสาเหตุได้เร็วโดยไม่เดามั่ว
เช็กลิสต์ 7 ข้อ
- เครื่องปลายทางเปิดอยู่และ
pingถึงหรือไม่ - ชื่อเครื่อง (DNS) ชี้ไปที่ IP ที่ถูกต้องหรือไม่
- พอร์ต 22 (หรือพอร์ตที่ตั้งไว้) เปิดรับการเชื่อมต่อหรือไม่
- บริการ SSH ทำงานอยู่หรือไม่
- Firewall ของเครื่องและเครือข่ายอนุญาตหรือไม่
- ชื่อผู้ใช้ รหัสผ่าน หรือกุญแจถูกต้องหรือไม่
- สิทธิ์ของโฟลเดอร์
~/.sshและไฟล์กุญแจถูกต้องหรือไม่
คำสั่งที่ใช้ตรวจ
จากเครื่องของคุณ
ping -c 3 server.example.com
nc -vz server.example.com 22
ssh -v [email protected]
ตัวเลือก -v แสดงขั้นตอนการเชื่อมต่อ ช่วยให้เห็นว่าติดที่การเชื่อมต่อ หรือที่การพิสูจน์ตัวตน
บนเซิร์ฟเวอร์
sudo systemctl status ssh # Ubuntu / Debian
sudo systemctl status sshd # RHEL / Rocky / AlmaLinux
sudo ss -tlnp | grep :22
sudo sshd -t # ตรวจไวยากรณ์ของไฟล์ตั้งค่า
sudo journalctl -u ssh -n 50 --no-pager
ชื่อบริการต่างกันตามดิสทริบิวชัน: Ubuntu ใช้ ssh ส่วน RHEL และตระกูลเดียวกันใช้ sshd
สิทธิ์ของไฟล์กุญแจ
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
ก่อนแก้ /etc/ssh/sshd_config บนเครื่องที่เข้าได้ทางเดียวคือ SSH ให้เปิดหน้าต่าง SSH ค้างไว้อีกอัน และรัน sshd -t ก่อนรีสตาร์ตบริการ ถ้าพิมพ์ผิดแล้วรีสตาร์ต คุณอาจถูกล็อกออกจากเครื่อง
Leave a Reply