ដោះស្រាយបញ្ហា SSH៖ ពិនិត្យតាមសារកំហុស
ពេល SSH ទៅ Ubuntu VPS បរាជ័យ សូមយកសារកំហុសជាចំណុចចាប់ផ្ដើម។ មគ្គុទ្ទេសក៍នេះបែងចែកបញ្ហាបណ្តាញ service, authentication និង host identity ដោយរក្សាផ្លូវចូលដែលនៅប្រើបាន។
VPSuntu · កែថ្មី៖ · អានប្រហែល 5 នាទី
មាតិកាទំព័រ
កត់ការបរាជ័យមួយ ហើយរក្សាផ្លូវចូល
រក្សា SSH session ដែលជោគជ័យ និងរក provider recovery console ។ Client commands រត់លើកុំព្យូទ័រ Linux, macOS ឬ WSL ។ Server commands រត់តាម session ចាស់ឬ authenticated console; កុំបិទភ្ជាប់វាទៅ local terminal ។
ប្ដូរ documentation IP 203.0.113.10, username ubuntu, port 22 និង key path ទៅតម្លៃពិត។ បង្ហាញ client settings ដែលមានប្រសិទ្ធភាព រួចសាកការភ្ជាប់ថ្មីមួយ៖
ssh -G -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10
ssh -v -S none -o ConnectTimeout=10 -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10ពិនិត្យ hostname, user, port, identityfile និង proxy settings ។ ពាក្យបញ្ជាទីពីរបិទ connection sharing សម្រាប់ការសាកនេះ។ កត់ពេលនិងសារចុងក្រោយ។ ផ្ទៀងផ្ទាត់ host-key prompt ថ្មីតាមផ្នែកខាងក្រោម។ លាក់ usernames, addresses និង paths មុនចែក debug output; កុំចែក private key ។
ជ្រើសការពិនិត្យតាមដំណាក់កាលកំហុស
លើអេក្រង់តូច អូសតារាងទៅចំហៀងដើម្បីមើលគ្រប់ជួរឈរ។
| សារឬដំណាក់កាល | អត្ថន័យ | ពិនិត្យបន្ទាប់ |
|---|---|---|
| Connection timed out មុន established | TCP មិនបានភ្ជាប់ពេញលេញ | Address, routing, firewalls និង provider state |
| Connection refused | ការបដិសេធសកម្មនៅ IP/port នោះ | Port ត្រូវ, listener និង reject rules |
| Permission denied (publickey) | ដល់ authentication តែ credentials បរាជ័យ | Username, offered key និង server policy |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Host identity បង្ហាញខុសពីដែលរក្សា | ផ្ទៀងផ្ទាត់ trusted host key មុនបន្ត |
សារទាំងនេះកាត់បន្ថយកន្លែងស្វែងរក មិនបញ្ជាក់មូលហេតុតែមួយទេ។ បើ debug បង្ហាញ Connection established មុន timeout ពិនិត្យ SSH handshake និង logs មិនសន្មតថា packets ទាំងអស់ត្រូវបិទ។
Timeout ៖ តាមដានផ្លូវបណ្តាញដែលចង់ទៅ
ប្រៀបធៀប destination ក្នុង ssh -v ជាមួយ IP បច្ចុប្បន្នក្នុង provider panel ។ Hostname អាចមាន DNS ចាស់ឬ IPv6 ផ្សេង។ បញ្ជាក់ថា VPS ត្រូវការ public IP, VPN ឬ jump host ។
ពិនិត្យ instance Running និង public routing ។ ក្នុង provider firewall មើល SSH destination port ពិតនិង public source IP បច្ចុប្បន្ន។ Home IP អាចប្ដូរខណៈ /32 rule នៅចាស់។ ពិនិត្យ guest firewall តាម console ផង។
លើ Oracle ត្រូវពិនិត្យ security lists, NSGs, routing និង guest firewall ។ រក្សា rules របស់ image; ដំឡើង UFW ឬ flush iptables មិនមែនជាជំហានវិនិច្ឆ័យទេ។ មគ្គុទ្ទេសក៍ Oracleបង្ហាញ network layout ។ Ping បរាជ័យតែឯងមិនបញ្ជាក់ថា SSH មិនអាចប្រើបាន។
Connection refused ៖ ពិនិត្យ service ដែលកំពុង listen
Refusal មិនផ្ទៀងផ្ទាត់ថា destination ជា VPS របស់អ្នកទេ។ បញ្ជាក់អត្តសញ្ញាណនិង port រួចរត់ read-only checks លើ server តាម access ចាស់ឬ console ៖
systemctl status ssh.service ssh.socket --no-pager
sudo ss -lntp
sudo /usr/sbin/sshd -t
sudo journalctl -u ssh.service -u ssh.socket --since '15 minutes ago' --no-pagerរក listener លើ port/address ត្រឹមត្រូវ ហើយផ្គូផ្គង logs ជាមួយពេលសាក។ Ubuntu អាចប្រើ socket activation ៖ ssh.service មិនសកម្មតែឯងមិនបញ្ជាក់ថា SSH បិទ បើ ssh.socket កំពុង listen ។
sshd -t ពិនិត្យ config និង host keys ដោយមិនចាប់ផ្ដើម daemon ។ Silent success មិនបញ្ជាក់ network reachability ។ បើមានកំហុស រក file ឬ setting មុនពិចារណា reload; កុំ restart ដោយស្មាន។
Public key ត្រូវបដិសេធ៖ ពិនិត្យគណនីនិង key
ប្រើ initial account របស់ provider ឬ admin ដែលអ្នកបង្កើត មិនស្មាន username ។ ក្នុង client debug រក fingerprint របស់ key ដែលបាន offer ។ ដើម្បីកាត់ keys មិនពាក់ព័ន្ធពី agent សាកលើកុំព្យូទ័រ៖
ssh -v -S none -o IdentitiesOnly=yes -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10IdentityFile entries ដែល config អាចនៅអនុវត្ត; ពិនិត្យ ssh -G ។ បើ client អាន key មិនបានឬ private-key permissions ទូលាយពេក កែ local file មុនកែ server ។
លើ server ពិនិត្យ target account និង authorized public keys ។ គំរូប្រើ /home/ubuntu; ប្ដូរតាម home ដែល getent បង្ហាញ៖
getent passwd ubuntu
sudo ls -ld /home/ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
sudo ssh-keygen -lf /home/ubuntu/.ssh/authorized_keysផ្គូផ្គង authorized fingerprints ជាមួយ key ដែល offer ។ មើល journal សម្រាប់ ownership, permissions ឬ account policy ។ ពិនិត្យ AuthorizedKeysFile, included snippets និង Match rules បើមិនប្រើ default path ។ Provider-managed key service អាចប្ដូរវិធីផង។ រក្សា authorized keys ចាស់; កុំបិទ StrictModes ឬបើក password ដើម្បីលាក់មូលហេតុ។
Host identity ប្ដូរ៖ ផ្ទៀងផ្ទាត់មុនភ្ជាប់វិញ
Rebuild ឬ IP ដែលបានចាត់តាំងថ្មីអាចប្ដូរ host key ប៉ុន្តែការប្ដូរមិនរំពឹងទុកក៏អាចជា endpoint ខុសឬការស្ទាក់។ បញ្ជាក់ instance ID និង planned rebuild ក្នុង authenticated provider panel ។
តាម trusted console របស់ guest ពិនិត្យ public host key ដែលត្រូវនឹង algorithm ក្នុង client ។ សម្រាប់ Ed25519៖
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ប្រៀបធៀប SHA256 fingerprint ជាមួយ warning ។ នេះជា server key មិនមែន login key ឬ console gateway key ។ ក្រោយផ្ទៀងផ្ទាត់ replacement អាចត្រូវកែ saved entry របស់ server នោះ; backup ឯកសារហើយរក្សា entries មិនពាក់ព័ន្ធ។ កុំលុប known_hosts ទាំងមូល ឬរំលងការពិនិត្យ។ បើ identity មិនទាន់ពន្យល់បាន សូមឈប់ភ្ជាប់ហើយស៊ើបអង្កេត។
ផ្ទៀងផ្ទាត់ការកែជាក់លាក់ក្នុង session ថ្មី
កែ address, user, key, network rule តូច ឬ config error ដែលបានរកឃើញ។ រក្សាផ្លូវចូលឯករាជ្យពេលកែ server ហើយ validate SSH config មុន apply ។ ប្ដូរ port អាចពាក់ព័ន្ធ socket activation មិនមែនតែ restart service ។
សាកការភ្ជាប់ដើមដោយបិទ connection sharing ។ បញ្ជាក់ថា login ថ្មីដល់គណនីត្រូវ ហើយ sudo ដែលត្រូវការប្រើបាន។ Session ចាស់នៅភ្ជាប់មិនមែនការសាកនេះទេ។ កត់មូលហេតុនិងការកែ រួចត្រឡប់ទៅការដំឡើង Ubuntu VPSបើបានផ្អាក។
សំណួរនិងចម្លើយ
គួរ reinstall Ubuntu ដើម្បីជួសជុល SSH ឬ?
រកមូលហេតុសិន។ IP, username ឬ key ខុសមិនត្រូវការ reinstall ដែលអាចបំផ្លាញទិន្នន័យ។ បើគ្មាន access ប្រើ provider recovery process ។
Console ប្រើបានមានន័យថា SSH គួរប្រើបានឬ?
មិនមែនទេ។ Console និង public SSH ប្រើផ្លូវផ្សេង។ Guest listener, account authentication និង network rules នៅតែត្រូវអនុញ្ញាតការភ្ជាប់។