SSH ਕੁਨੈਕਸ਼ਨ ਦੀਆਂ ਗ਼ਲਤੀਆਂ ਦਾ ਕਾਰਨ ਲੱਭੋ
Ubuntu VPS ਨਾਲ SSH ਨਾ ਜੁੜੇ ਤਾਂ ਅਸਲ error message ਦੇ ਅਧਾਰ ਉੱਤੇ ਜਾਂਚ ਚੁਣੋ। Network, service, authentication ਅਤੇ host identity ਦੀਆਂ ਗ਼ਲਤੀਆਂ ਵੱਖ ਹਨ। ਕੋਈ ਵੀ ਕੰਮ ਕਰਦਾ access ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ recovery ਰਸਤਾ ਤਿਆਰ ਰੱਖੋ।
VPSuntu · ਅੱਪਡੇਟ: · ਲਗਭਗ 5 ਮਿੰਟ ਪੜ੍ਹਨ ਲਈ
ਗਾਈਡ ਦੀ ਸਮੱਗਰੀ
ਇੱਕ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ ਦਰਜ ਕਰੋ
ਕੰਮ ਕਰਦਾ SSH session ਖੁੱਲ੍ਹਾ ਰੱਖੋ ਅਤੇ recovery console ਲੱਭੋ। Client commands ਆਪਣੇ Linux/macOS/WSL ਕੰਪਿਊਟਰ ਉੱਤੇ; server commands ਮੌਜੂਦਾ session ਜਾਂ authenticated console ਵਿੱਚ ਚਲਾਓ।
203.0.113.10, ubuntu, port 22 ਅਤੇ key path ਆਪਣੇ ਅਸਲ ਵੇਰਵਿਆਂ ਨਾਲ ਬਦਲੋ। ਪਹਿਲੀ command client settings ਦਿਖਾਉਂਦੀ ਅਤੇ ਦੂਜੀ connection sharing ਤੋਂ ਬਿਨਾਂ ਨਵੀਂ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ।
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.10Hostname, user, port, identityfile ਅਤੇ proxy settings ਵੇਖੋ। ਸਮਾਂ ਅਤੇ ਆਖਰੀ error ਲਿਖੋ। ਨਵੀਂ host-key prompt ਨੂੰ ਹੇਠਲੀ ਵਿਧੀ ਨਾਲ ਜਾਂਚੋ। Debug output ਸਾਂਝਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ usernames, addresses ਅਤੇ paths ਓਹਲੇ ਕਰੋ; private key ਕਦੇ ਨਾ ਭੇਜੋ।
Error ਦੇ ਮੁਤਾਬਕ ਸ਼ਾਖਾ ਚੁਣੋ
ਛੋਟੀ ਸਕ੍ਰੀਨ ਉੱਤੇ ਸਾਰੇ ਕਾਲਮ ਵੇਖਣ ਲਈ ਸਾਰਣੀ ਪਾਸੇ ਵੱਲ ਖਿਸਕਾਓ।
| Message ਜਾਂ ਪੜਾਅ | ਅਰਥ | ਅਗਲੀ ਜਾਂਚ |
|---|---|---|
| Connection timed out ਤੋਂ ਪਹਿਲਾਂ TCP ਨਹੀਂ ਜੁੜਿਆ | Connection ਪੂਰੀ ਨਹੀਂ ਹੋਈ | Address, routing ਅਤੇ firewalls |
| Connection refused | ਉਸ address/port ਤੋਂ ਸਰਗਰਮ ਇਨਕਾਰ | Port, listener ਅਤੇ reject rules |
| Permission denied (publickey) | Authentication ਤੱਕ ਪਹੁੰਚਿਆ ਪਰ key ਮਨਜ਼ੂਰ ਨਹੀਂ | Username, key ਅਤੇ policy |
| REMOTE HOST IDENTIFICATION HAS CHANGED | ਸੰਭਾਲੀ host identity ਨਾਲ ਫ਼ਰਕ | Trusted console ਤੋਂ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ |
ਇਹ ਇੱਕੋ ਕਾਰਨ ਸਾਬਤ ਨਹੀਂ ਕਰਦੇ। Debug ਵਿੱਚ Connection established ਤੋਂ ਬਾਅਦ timeout ਹੋਵੇ ਤਾਂ SSH handshake ਅਤੇ server logs ਵੇਖੋ; ਸਾਰਾ network blocked ਨਾ ਮੰਨੋ।
Timeout: ਮੰਨੇ ਹੋਏ network ਰਸਤੇ ਦੀ ਜਾਂਚ
ssh -v ਦਾ destination provider panel ਦੇ ਮੌਜੂਦਾ IP ਨਾਲ ਮਿਲਾਓ। ਪੁਰਾਣਾ DNS ਜਾਂ IPv6 ਹੋਰ ਥਾਂ ਭੇਜ ਸਕਦਾ ਹੈ। Public address, VPN ਜਾਂ jump host ਦੀ ਲੋੜ ਪਤਾ ਕਰੋ।
Instance ਚੱਲਦੀ ਹੈ, route ਹੈ ਅਤੇ firewall ਵਿੱਚ ਅਸਲ SSH port ਤੇ ਤੁਹਾਡਾ ਮੌਜੂਦਾ public source IP ਹੈ, ਇਹ ਵੇਖੋ। ਘਰ ਦਾ IP ਬਦਲ ਸਕਦਾ ਹੈ ਜਦੋਂ /32 rule ਪੁਰਾਣੀ ਰਹਿੰਦੀ ਹੈ। Guest firewall console ਤੋਂ ਵੀ ਜਾਂਚੋ।
Oracle ਵਿੱਚ security lists, NSGs, routing ਅਤੇ guest rules ਸਾਰੇ ਅਸਰ ਕਰਦੇ ਹਨ। UFW ਲਗਾਉਣਾ ਜਾਂ iptables flush ਕਰਨਾ diagnosis ਨਹੀਂ। Oracle network ਕਦਮ ਵੇਖੋ। Ping ਅਸਫਲ ਹੋਣਾ ਇਕੱਲਾ SSH ਬੰਦ ਹੋਣ ਦਾ ਸਬੂਤ ਨਹੀਂ।
Refused: SSH listener ਦੀ ਜਾਂਚ
Refusal ਸਹੀ VPS ਦੀ ਪਛਾਣ ਨਹੀਂ ਕਰਦਾ। IP ਅਤੇ port ਮਿਲਾਕੇ server ਦੇ ਮੌਜੂਦਾ access ਜਾਂ recovery 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ਠੀਕ port/address ਉੱਤੇ listener ਅਤੇ ਕੋਸ਼ਿਸ਼ ਦੇ ਸਮੇਂ ਵਾਲੇ logs ਵੇਖੋ। Ubuntu ਵਿੱਚ socket activation ਹੋ ਸਕਦੀ ਹੈ: ssh.socket ਸੁਣਦਾ ਹੋਵੇ ਤਾਂ inactive ssh.service ਇਕੱਲਾ ਨੁਕਸ ਨਹੀਂ।
sshd -t daemon ਚਲਾਏ ਬਿਨਾਂ configuration ਅਤੇ host key ਜਾਂਚਦਾ ਹੈ। ਚੁੱਪ ਸਫਲ ਨਤੀਜਾ network reachability ਨਹੀਂ ਸਾਬਤ ਕਰਦਾ। Error ਹੋਵੇ ਤਾਂ file/setting ਦਾ ਕਾਰਨ ਸਮਝੇ ਬਿਨਾਂ restart ਨਾ ਕਰੋ।
Public key ਰੱਦ: ਖਾਤਾ ਅਤੇ ਦਿੱਤੀ key ਮਿਲਾਓ
Provider ਦਾ ਅਸਲ ਸ਼ੁਰੂਆਤੀ ਖਾਤਾ ਜਾਂ ਆਪਣਾ ਬਣਾਇਆ admin ਵਰਤੋ। Client debug ਵਿੱਚ offered fingerprint ਵੇਖੋ। Agent ਦੀਆਂ ਹੋਰ keys ਘਟਾਉਣ ਲਈ locally ਇਹ ਕੋਸ਼ਿਸ਼ ਕਰੋ:
ssh -v -S none -o IdentitiesOnly=yes -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10Configured IdentityFile entries ਫਿਰ ਵੀ ਲਾਗੂ ਹੋ ਸਕਦੀਆਂ ਹਨ; ssh -G ਵੇਖੋ। Private-key ਫ਼ਾਈਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਜਾਂ permissions ਖੁੱਲ੍ਹੀਆਂ ਹਨ ਤਾਂ ਪਹਿਲਾਂ local file ਠੀਕ ਕਰੋ।
ਸਰਵਰ ਉੱਤੇ target account ਅਤੇ authorized public keys ਵੇਖੋ। /home/ubuntu ਨੂੰ getent ਦੇ ਅਸਲ home ਨਾਲ ਬਦਲੋ:
getent passwd ubuntu
sudo ls -ld /home/ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
sudo ssh-keygen -lf /home/ubuntu/.ssh/authorized_keysAuthorized ਅਤੇ offered fingerprints ਮਿਲਾਓ। Ownership, permissions, account policy, AuthorizedKeysFile, include snippets ਅਤੇ Match rules ਵੇਖੋ। Provider-managed keys ਹੋਰ ਵਿਧੀ ਵਰਤ ਸਕਦੀਆਂ ਹਨ। ਪੁਰਾਣੀਆਂ keys ਬਚਾਓ; ਕਾਰਨ ਲੁਕਾਉਣ ਲਈ StrictModes ਬੰਦ ਜਾਂ password login ਚਾਲੂ ਨਾ ਕਰੋ।
ਬਦਲੀ host identity ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
Rebuild ਜਾਂ IP ਦੀ ਮੁੜ ਵੰਡ ਨਾਲ key ਬਦਲ ਸਕਦੀ ਹੈ; ਅਣਉਮੀਦ ਤਬਦੀਲੀ ਗ਼ਲਤ endpoint ਜਾਂ interception ਵੀ ਹੋ ਸਕਦੀ ਹੈ। Authenticated panel ਵਿੱਚ instance ID ਅਤੇ planned rebuild ਮਿਲਾਓ।
Trusted guest console ਵਿੱਚ client ਵਾਲੇ algorithm ਦੀ public host key ਵੇਖੋ। Ed25519 ਲਈ:
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256SHA256 ਨੂੰ warning ਨਾਲ ਮਿਲਾਓ। ਇਹ server key ਹੈ, ਤੁਹਾਡੀ login key ਜਾਂ provider console gateway key ਨਹੀਂ। Replacement ਦੀ ਪੁਸ਼ਟੀ ਹੋਵੇ ਤਾਂ known_hosts ਦੀ Backup ਰੱਖ ਕੇ ਸਿਰਫ਼ ਉਸ server ਦੀ entry ਬਦਲੋ। ਪੂਰੀ ਫ਼ਾਈਲ ਨਾ ਮਿਟਾਓ ਅਤੇ checking bypass ਨਾ ਕਰੋ। ਅਣਸਮਝੀ ਪਛਾਣ ਹੋਵੇ ਤਾਂ ਰੁਕੋ।
ਠੀਕ ਕੀਤਾ ਰਸਤਾ ਨਵੇਂ session ਨਾਲ ਜਾਂਚੋ
ਪਛਾਣੇ address, username, key, narrow rule ਜਾਂ configuration error ਨੂੰ ਠੀਕ ਕਰੋ। ਵੱਖਰਾ access ਰਸਤਾ ਬਚਾਓ ਅਤੇ apply ਤੋਂ ਪਹਿਲਾਂ SSH configuration validate ਕਰੋ। Port ਬਦਲਣ ਵਿੱਚ socket activation ਦੀ setting ਵੀ ਆ ਸਕਦੀ ਹੈ।
Connection sharing ਤੋਂ ਬਿਨਾਂ ਅਸਲ ਕੋਸ਼ਿਸ਼ ਦੁਹਰਾਓ। ਸਹੀ account ਅਤੇ ਲੋੜੀਂਦਾ sudo ਜਾਂਚੋ। ਪੁਰਾਣਾ session ਚੱਲਣਾ ਇਹ ਜਾਂਚ ਨਹੀਂ। ਕਾਰਨ ਅਤੇ ਬਦਲਾਅ ਲਿਖ ਕੇ deployment ਗਾਈਡ ਵੱਲ ਮੁੜੋ।
ਸਵਾਲ ਜਵਾਬ
SSH ਠੀਕ ਕਰਨ ਲਈ Ubuntu ਮੁੜ install ਕਰਾਂ?
ਪਹਿਲਾਂ ਕਾਰਨ ਲੱਭੋ। ਗ਼ਲਤ IP, username ਜਾਂ key ਲਈ reinstall ਨਹੀਂ ਚਾਹੀਦਾ ਅਤੇ data ਮਿਟ ਸਕਦਾ ਹੈ। ਪਹੁੰਚ ਖ਼ਤਮ ਹੋਵੇ ਤਾਂ provider recovery ਵਰਤੋ।
Console ਚੱਲੇ ਤਾਂ SSH ਵੀ ਚੱਲਣਾ ਚਾਹੀਦਾ ਹੈ?
ਦੋਹਾਂ ਦੇ ਰਸਤੇ ਵੱਖ ਹਨ। Guest listener, account authentication ਅਤੇ network rules ਹਾਲੇ ਵੀ ਠੀਕ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
ਦਸਤਾਵੇਜ਼ ਅਤੇ ਹਵਾਲੇ
- ਦਸਤਾਵੇਜ਼: Ubuntu OpenSSH server documentation
- ਦਸਤਾਵੇਜ਼: OpenSSH client manual
- ਦਸਤਾਵੇਜ਼: OpenSSH client configuration manual
- ਦਸਤਾਵੇਜ਼: OpenSSH server test modes
- ਦਸਤਾਵੇਜ਼: OpenSSH server configuration manual
- ਦਸਤਾਵੇਜ਼: OpenSSH key fingerprint tools
- ਦਸਤਾਵੇਜ਼: Ubuntu 24.04 OpenSSH socket activation
- ਦਸਤਾਵੇਜ਼: Oracle image firewall requirements