Ubuntu VPS ឥតគិតថ្លៃ៖ ពី SSH key ដល់ការភ្ជាប់
បង្កើត Linux VPS ជាមួយ Ubuntu ដោយប្រើ Oracle Always Free instance ដែលមានសិទ្ធិ។ មគ្គុទ្ទេសក៍នេះចាប់ផ្ដើមពី SSH key ដែលរក្សាទុក ហើយបញ្ចប់ដោយការភ្ជាប់ពីកុំព្យូទ័រដែលបានផ្ទៀងផ្ទាត់។ ត្រូវមានគណនីបានអនុម័ត capacity អាចប្រើបាន និងកូតានៅសល់គ្រប់គ្រាន់។
VPSuntu · កែថ្មី៖ · អានប្រហែល 7 នាទី
មាតិកាទំព័រ
ពិនិត្យគណនី និងជ្រើស instance តូចមួយ
ប្រើ AMD VM.Standard.E2.1.Micro មួយ RAM 1 GB ជាមួយ Ubuntu 24.04 LTS x86 image ក្នុង home region របស់គណនី។ នេះជាបរិស្ថានគ្រប់គ្រងតូច មិនមែនសមត្ថភាពបានវាស់។ Oracle រាយ Ubuntu ក្នុង eligible images; បញ្ជាក់ image និង shape ពិតក្នុង Console ថាមានសិទ្ធិឥតគិតថ្លៃ។
ត្រូវមានសិទ្ធិគ្រប់គ្រង instance, network និង console connection ព្រមទាំង OpenSSH លើកុំព្យូទ័រ។ Local commands ប្រើ shell លើ Linux, macOS ឬ WSL ។ មិនធានា signup, capacity ឬ availability បន្ត; idle instance អាចត្រូវយកត្រឡប់។ អានកម្មវិធីឥតគិតថ្លៃនិងការសាកល្បងសិន។
បង្កើត និងរក្សា SSH key មុនបើក instance
រត់លើកុំព្យូទ័ររបស់អ្នក។ បើ filename មានរួច ប្រើឈ្មោះផ្សេងគ្រប់ទីកន្លែង ដោយមិនសរសេរជាន់។ បញ្ចូល passphrase ពេលមាន prompt ។
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 3072 -f ~/.ssh/oci-ubuntu-free
chmod 600 ~/.ssh/oci-ubuntu-free
cat ~/.ssh/oci-ubuntu-free.pubរក្សា private file ដោយសុវត្ថិភាព ហើយ upload តែ .pub ពេលបង្កើត instance ។ Public key កំណត់អ្នកមានសិទ្ធិ login ។ Host key ដែលនឹងពិនិត្យក្រោយ កំណត់ម៉ាស៊ីនដែលអ្នកភ្ជាប់ទៅ។ Key ទាំងពីរមានតួនាទីផ្សេងគ្នា។
កត់ compartment, region, instance name និង IDs ក្នុងបញ្ជីធនធាន។ ប្រើឈ្មោះ ubuntu-free-ssh តែសម្រាប់ experiment ថ្មីនេះ។ ឈ្មោះតែឯងអាចមិនសម្គាល់ OCI resource តែមួយបានទេ។
រៀបចំ public subnet ដែលកម្រិតប្រភព SSH
ក្នុង Networking បង្កើត VCN ដាច់ដោយឡែក ដូចជា 10.20.0.0/16 និង regional public subnet ដូចជា 10.20.1.0/24។ បើត្រូវភ្ជាប់បណ្តាញចាស់ ជ្រើស ranges មិនជាន់គ្នា។ បង្កើតនិង enable internet gateway ក្នុង VCN នោះ។
ក្នុង route table របស់ subnet បន្ថែម destination 0.0.0.0/0 ទៅ internet gateway នោះ។ Instance ក៏ត្រូវមាន public IPv4; route តែឯងមិនផ្ដល់ IP ទេ។
ក្នុង security list របស់ subnet បង្កើត stateful ingress rule ៖ source CIDR = public IPv4 បច្ចុប្បន្នរបស់អ្នក + /32, protocol TCP, source ports All, destination port 22។ ប្រើ IP ដែលអ៊ីនធឺណិតឃើញ មិនមែន private Wi-Fi IP ។ រក្សា default egress និង ICMP rules ដែលត្រូវការ។
ជំនួស default SSH rule ដែលបើកឱ្យគ្រប់គ្នានៅក្នុង dedicated list នេះ។ Rule តូចមិនលុបឥទ្ធិពល rule ទូលាយផ្សេងទេ; ពិនិត្យ security lists និង NSGs ទាំងអស់ដែលភ្ជាប់។ គំរូនេះមិនបន្ថែម NSG, NAT gateway ឬ load balancer ។ កែ /32 ពេល public IP កុំព្យូទ័រប្ដូរ។
បង្កើត Ubuntu instance ដែលមានសិទ្ធិ
ក្នុង home region បើក Compute → Instances → Create instance ។ ដាក់ឈ្មោះ ubuntu-free-ssh និងជ្រើស compartment ដែលចង់បាន។ ពិនិត្យការកំណត់ខាងក្រោមមុនបង្កើត។
លើអេក្រង់តូច អូសតារាងទៅចំហៀងដើម្បីមើលគ្រប់ជួរឈរ។
| ការកំណត់ | ជម្រើសក្នុងមគ្គុទ្ទេសក៍ |
|---|---|
| Image | Canonical Ubuntu 24.04 LTS platform image x86/amd64 ដែលមានសិទ្ធិ |
| Shape | VM.Standard.E2.1.Micro, AMD, RAM 1 GB |
| Boot volume | 50 GB; រក្សា performance settings មានសិទ្ធិ និងពិនិត្យកូតាសល់ |
| Network | Dedicated public subnet និង public IPv4 |
| SSH key | Upload public key oci-ubuntu-free.pub |
| Extras | គ្មាន volumes បន្ថែម paid image software ឬ optional managed services |
Oracle កំណត់ boot/block storage រួម 200 GB ក្នុង home region ។ រាប់ volumes ចាស់ផង។ ពិនិត្យសិទ្ធិនិង estimate របស់ធនធាននីមួយៗ; trial credit ដែលលាក់ចំណាយមិនបញ្ជាក់ថា free coverage បន្តទេ។ ប្រើបញ្ជីលក្ខខណ្ឌនិង billingបើមិនច្បាស់។
រក្សាអត្ថបទខាងក្រោមជាឯកសារលើកុំព្យូទ័រ ហើយ upload ក្នុង Advanced options → Management → Initialization script ។ វាឱ្យ cloud-init បោះពុម្ព public host keys និង fingerprints ក្នុង console សម្រាប់ការផ្ទៀងផ្ទាត់បន្ទាប់; វាគ្មាន private key ។
#cloud-config
ssh:
emit_keys_to_console: trueបង្កើតតែក្រោយពិនិត្យការកំណត់។ បើ eligible capacity មិនមាន សូមឈប់និងវាយតម្លៃឡើងវិញ កុំជ្រើស paid substitute ដោយច្រឡំ។ ពេល Running កត់ instance OCID, boot-volume OCID និង public IPv4។
ផ្ទៀងផ្ទាត់ guest host key តាម OCI console history
មុនទទួល SSH prompt ដំបូង ចូល OCI Console ហើយបើក instance ពិតនេះ។ ក្នុង OS Management ឬ Resources បើក Console connection រួច Launch Cloud Shell connection ។ វាបង្កើត connection ដែលត្រូវការសម្រាប់ចាប់ console history ហើយត្រូវមាន account permissions ។
បើក Console history → View current history ហើយរក្សាឬ download first-boot output ។ រក SSH HOST KEY FINGERPRINTS ដែល cloud-init បង្កើត។ កត់ SHA256 fingerprint និង key type របស់ guest host key ។ កុំច្រឡំជាមួយ authorized user key fingerprints ។
Fingerprint លើ Console connection resource ផ្ទៀងផ្ទាត់ OCI console endpoint មិនមែន guest SSH endpoint ធម្មតា។ ប្រើ guest host-key record ពី boot output សម្រាប់ជំហានបន្ទាប់។ បើមិនមាន ប្រើ console recovery តាមឯកសារ OCI សិន; កុំជំនួសដោយ ssh-keyscan ដែលមិនផ្ទៀងផ្ទាត់។
ភ្ជាប់ពីកុំព្យូទ័រ ហើយពិនិត្យ Ubuntu
រត់ក្នុង workstation terminal ដោយប្ដូរ 203.0.113.20 ទៅ public IPv4 របស់ instance ។ IP គំរូជាអាសយដ្ឋានសម្រាប់ឯកសារ។ ប្រៀបធៀប key type និង SHA256 fingerprint នៃ prompt ជាមួយ boot record ហើយទទួលតែបើត្រូវគ្នា។
ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20Username របស់ Ubuntu platform image គឺ ubuntu មិនមែន opc ។ ក្រោយ login រត់ការពិនិត្យអានតែប៉ុណ្ណោះលើ VPS ៖
cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -Sពិនិត្យ provisioning បានចប់, Ubuntu 24.04, amd64, memory/disk ដែលរំពឹង និង SSH service កំពុង listen ។ ការភ្ជាប់ជោគជ័យពី workstation ផ្ទៀងផ្ទាត់ផ្លូវ public SSH នេះ មិនបញ្ជាក់ app capacity ឬដាក់ HTTP website ទេ។
ធ្វើបច្ចុប្បន្នភាពដោយរក្សា firewall របស់ image
ក្រោយ cloud-init ចប់ដោយជោគជ័យ Refresh package information ហើយពិនិត្យ upgrade មុនបញ្ជាក់៖
sudo apt update
sudo apt upgradeរក្សា session ដើម ហើយផ្ទៀងផ្ទាត់ SSH login ទីពីរ។ បើ update ត្រូវការ reboot រត់ sudo reboot ខណៈ server នៅជាការសាកល្បង រួចភ្ជាប់និងពិនិត្យម្ដងទៀត។ Reboot ផ្ដាច់ SSH ដោយចេតនា។
កុំដំឡើងឬ enable UFW លើ OCI Ubuntu image នេះ។ Oracle និង Canonical រៀបរាប់ការប៉ះទង្គិចជាមួយ persistent firewall និង iSCSI rules ចាំបាច់។ រក្សា rules នោះ។ គេហទំព័រពេលក្រោយត្រូវការ OCI network permissions និង guest rules ត្រូវគ្នាសម្រាប់ ports ។
លើអេក្រង់តូច អូសតារាងទៅចំហៀងដើម្បីមើលគ្រប់ជួរឈរ។
| បញ្ហា | ពិនិត្យជាមុន |
|---|---|
| SSH timeout | Public IPv4, gateway route, source /32 បច្ចុប្បន្ន និង network rules ទាំងអស់ |
| Permission denied (publickey) | Username ubuntu, private key និង uploaded public key |
| Host-key mismatch | Instance identity និង trusted boot record; កុំលុប known_hosts ដោយមិនដឹងមូលហេតុ |
| Provisioning/package errors | Console history, cloud-init status និង repository connectivity |
បើនៅចូលមិនបាន ប្រើការវិភាគ SSHតាមសារកំហុសនិង trusted console ដោយរក្សា image firewall ។ បន្តទៅការដាក់គេហទំព័រដោយគោរព firewall requirements របស់ provider ។
រក្សាច្បាប់ចម្លង ឬលុបតែ experiment ដែលបានកត់
មុនពឹង VPS រក្សា app data និង rebuild notes នៅក្រៅវា ហើយសាកល្បងស្ដារ។ ការងារសំខាន់ត្រូវស្ដារបាន បើ free instance បាត់។ ជំហានខាងលើផ្ទៀងផ្ទាត់ការគ្រប់គ្រង មិនបញ្ជាក់ production readiness ។
ពេលមាន website files ហាត់ស្ដារ file backupលើកុំព្យូទ័រផ្សេង។ វាផ្ទៀងផ្ទាត់ឯកសារជ្រើសរើស មិនជំនួស recovery planning សម្រាប់ទិន្នន័យផ្សេង។
ពេលចប់ Export អ្វីដែលត្រូវការ។ ក្នុង compartment ដែលបានកត់ ជ្រើស ubuntu-free-ssh ត្រឹមត្រូវតាម OCID ហើយចុច Terminate ។ Boot volume ត្រូវរក្សាជាលំនាំដើម; ជ្រើសលុបអចិន្ត្រៃយ៍តែបើ volume ពិតនោះលែងត្រូវការ និង export បានផ្ទៀងផ្ទាត់។
ផ្គូផ្គង retained volumes, backups, addresses និង console connections ជាមួយបញ្ជី។ លុប dedicated subnet/gateway តែក្រោយបញ្ជាក់ថាគ្មានធនធានផ្សេងប្រើ។ កុំលុបកម្រិតគណនីទាំងមូលដើម្បីសម្អាត experiment មួយ។ ពិនិត្យធនធាននិង usage នៅសល់។
សំណួរនិងចម្លើយ
នេះជា public VPS ឬ local Ubuntu VM?
ជា VM របស់ provider មាន public IP ។ SSH ត្រូវកម្រិតទៅ public IP របស់ workstation ដោយចេតនា។ វាមិនទាមទារឱ្យកុំព្យូទ័ររបស់អ្នកបើកជាប់ទេ។
បើ free shape មិនមានត្រូវធ្វើដូចម្តេច?
រង់ចាំឬវាយតម្លៃកម្មវិធីមានឯកសារផ្សេង។ កុំសន្មតថា shape, region ឬធនធានធំជាងមានសិទ្ធិដូចគ្នា។ មគ្គុទ្ទេសក៍ប្រៀបធៀបមិនធានា approval ឬ capacity ។
ឯកសារយោងផ្លូវការ
- ឯកសារ 1៖ docs.oracle.com
- ឯកសារ 2៖ docs.oracle.com
- ឯកសារ 3៖ docs.oracle.com
- ឯកសារ 4៖ docs.oracle.com
- ឯកសារ 5៖ docs.oracle.com
- ឯកសារ 6៖ docs.oracle.com
- ឯកសារ 7៖ docs.oracle.com
- ឯកសារ 8៖ docs.oracle.com
- ឯកសារ 9៖ docs.oracle.com
- ឯកសារ 10៖ docs.cloud-init.io
- ឯកសារ 11៖ docs.oracle.com
- ឯកសារ 12៖ documentation.ubuntu.com
- ឯកសារ 13៖ docs.oracle.com