Գործնական ուղեցույց / անվճար Ubuntu VPS

Անվճար Ubuntu VPS․ ստեղծումից մինչև SSH մուտք

Այս օրինակը ստեղծում է նոր Oracle Cloud Always Free AMD ինստանս՝ Ubuntu 24.04-ով, և ստուգում SSH մուտքը։ Պետք է հաստատված հաշիվ, համապատասխան քվոտա, ազատ հզորություն ու ցանցը կառավարելու իրավունք։ Սա հավելվածի արտադրողականության թեստ չէ։

· Թարմացվել է · Ընթերցում՝ մոտ 5 րոպե

Ուղեցույցի բովանդակությունը

Պատրաստեք հաշիվն ու աշխատանքային միջավայրը

Օգտագործեք հիմնական տարածաշրջանը, համապատասխան VM.Standard.E2.1.Micro ձևը, 1 GB RAM և Ubuntu 24.04 x86 իմիջ։ Պետք են Compute, networking և console connection-ի իրավունքներ։ Եթե անվճար ձևի հզորություն չկա, կանգ առեք․ պատահաբար վճարովի ձև մի ընտրեք։

Կլիենտի հրամանները Bash և OpenSSH են օգտագործում Linux-ում, macOS-ում կամ WSL-ում։ Իմացեք ձեր ընթացիկ public IPv4-ը, որտեղից SSH-ով միանալու եք։ Նախ կարդացեք անվճար ծրագրերի քվոտաներն ու ծախսերը։

Ստեղծեք բանալին ձեր համակարգչում

Հրամանը ստեղծում է RSA 3072 բանալի։ Եթե այդ ֆայլն արդեն կա, ընտրեք այլ անուն և փոխեք այն հաջորդ հրամաններում էլ․ հին բանալին մի վերագրեք։ Օգտագործեք passphrase։

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

Oracle-ում վերբեռնեք միայն .pub ֆայլը։ Private key-ը պահեք ձեր համակարգչում, մի տեղադրեք cloud-init-ում և մի ուղարկեք հաղորդագրությամբ։ Login key-ը և սերվերի host key-ը տարբեր բանալիներ են։

Ռեսուրսների ցուցակում նշեք compartment-ը, տարածաշրջանը, եզակի անունը և հետագայում OCID-ն։ Անվան համընկնումը ռեսուրսի եզակի նույնացուցիչին չի փոխարինում։

Պատրաստեք առանձին հանրային ցանց

Օրինակն օգտագործում է VCN 10.20.0.0/16 և regional public subnet 10.20.1.0/24։ Նախ ստուգեք՝ դրանք չեն համընկնում ձեր ցանցերի հետ։ Ստեղծեք ու միացրեք internet gateway-ը և subnet route table-ում 0.0.0.0/0-ը ուղղեք այդ gateway-ին։ VM-ին պետք է public IPv4։

Ավելացրեք stateful ingress՝ source ձեր ընթացիկ public IPv4 /32, TCP, source port All, destination port 22։ Պահպանեք անհրաժեշտ egress և ICMP կանոնները։ Եթե լռելյայն security list-ը SSH-ն բացում է բոլորի համար, փոխարինեք այդ կանոնը։ Այլ կցված security list կամ NSG դեռ կարող է լայն մուտք թույլ տալ։

Այս օրինակը լրացուցիչ NSG, NAT gateway կամ load balancer չի ստեղծում։ Տան IP-ն փոխվելիս թարմացրեք /32 կանոնը։ Միայն guest firewall-ի փոփոխությունը OCI-ի ցանցային կանոնին չի փոխարինում։

Ստեղծեք համապատասխան Ubuntu ինստանսը

Compute → Instances → Create instance-ում ստուգեք հիմնական տարածաշրջանն ու compartment-ը։ Օրինակ՝ անվանեք ubuntu-free-ssh։

Փոքր էկրանին բոլոր սյունակները տեսնելու համար աղյուսակը ոլորեք հորիզոնական։

ԿարգավորումՕրինակի արժեք
ԻմիջՀամապատասխան Ubuntu 24.04, x86
ՁևVM.Standard.E2.1.Micro, 1 GB RAM
Boot volume50 GB, համապատասխան performance և մնացած ընդհանուր քվոտա
ՑանցՊատրաստված public subnet և public IPv4
SSH keyՄիայն պատրաստված .pub ֆայլը
Հավելյալ ռեսուրսներԱյս օրինակում չեն ավելացվում

Oracle-ի 200 GB ընդհանուր boot/block քվոտայի մեջ արդեն եղած volumes-ն էլ են հաշվվում։ Trial credit-ով ծածկված գնային գնահատականը մշտական անվճար համապատասխանության ապացույց չէ։

Հետևյալ cloud-config-ը պահեք ֆայլով և ընտրեք Advanced options → Management → Initialization բաժնում։ Private key մի գրեք դրա մեջ։

#cloud-config
ssh:
  emit_keys_to_console: true

Ստեղծելուց հետո գրանցեք instance OCID-ն, boot volume OCID-ն և public IPv4-ը։ Capacity-ի պակասի դեպքում կանգ առեք՝ չընտրելով չստուգված վճարովի այլընտրանք։

Սերվերի ինքնությունը ստուգեք վստահելի կոնսոլից

OCI-ում բացեք հենց գրանցված ինստանսը։ Համապատասխան իրավունքներով օգտագործեք Console connection → Launch Cloud Shell connection, կամ Console history → View current history։ Պահեք առաջին boot-ի SSH HOST KEY FINGERPRINTS-ը՝ տեսակը և SHA256 fingerprint-ը։

Պետք է guest համակարգի SSH host key-ը։ OCI console connection ռեսուրսի fingerprint-ը հաստատում է OCI console endpoint-ը, ոչ guest SSH սերվերին։ Ձեր public login key-ի fingerprint-ը նույնպես այլ բան է։

Եթե guest-ի վստահելի fingerprint-ը չի գտնվում, օգտվեք մատակարարի recovery ընթացակարգից։ Չստուգված ցանցից ssh-keyscan-ի ստացած արդյունքն ինքնին ինքնության ապացույց չէ։

Միացեք SSH-ով և կարդացեք սկզբնական վիճակը

Ձեր համակարգչում 203.0.113.20-ը փոխարինեք իրական public IP-ով։ Առաջին կապի ժամանակ ցույց տրված ալգորիթմն ու SHA256-ը համեմատեք վստահելի կոնսոլից պահվածի հետ։ Օգտատերը ubuntu է, ոչ opc։

ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20

Սերվերում ստուգեք cloud-init-ի ավարտը, իմիջը, ճարտարապետությունը, ռեսուրսներն ու SSH-ն։

cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -S

Հաջող login-ը չի նշանակում, որ HTTP կայք է հրապարակվել կամ 1 GB RAM-ը բավարար է ձեր հավելվածին։ Սխալի դեպքում նախ ուսումնասիրեք սկզբնական միջավայրը։

Թարմացրեք համակարգը և կրկնեք մուտքը

sudo apt update
sudo apt upgrade

Պահեք բաց SSH սեսիան և երկրորդ տերմինալից նորից միացեք։ Այս նոր փորձնական ինստանսում ստուգեք reboot-ը, հետո կրկնեք կապի և ծառայությունների ստուգումները։

OCI Ubuntu-ում UFW մի միացրեք․ մատակարարի iptables և iSCSI կանոնները պետք է պահպանվեն։ HTTP-ին պետք են անհրաժեշտ պորտերը թե՛ OCI, թե՛ guest մակարդակում։ HTTPS հրահանգում հետևեք Oracle-ի բացառությանը։

Փոքր էկրանին բոլոր սյունակները տեսնելու համար աղյուսակը ոլորեք հորիզոնական։

ԱխտանիշՍտուգում
Կապի timeoutPublic IP, route, gateway և ընթացիկ /32 կանոն
Permission denied (publickey)ubuntu օգտատեր և ճիշտ private/public key զույգ
Host key mismatchՎստահելի console record և ճիշտ ինստանս
cloud-init errorLogs, repository և առաջին boot-ի վիճակ

Մանրամասն քայլերը՝ SSH կապի ախտորոշման ուղեցույցում։

Պահեք վերականգնման նյութերն ու ավարտեք փորձը

Տվյալների և rebuild քայլերի անկախ պատճեն պահեք VM-ից դուրս։ Փորձարկեք ֆայլերի վերականգնումը․ ֆայլ ունենալը հաջող restore չի ապացուցում։

Ավարտելիս նախ արտահանեք անհրաժեշտ տվյալները և ստուգեք պատճենը։ Հետո Terminate արեք ճիշտ instance OCID-ն։ Boot volume-ը կարող է լռելյայն պահպանվել․ մշտապես ջնջեք միայն այլևս չպահանջվող, ստուգված volume-ը, որի անհրաժեշտ տվյալները արդեն դուրս եք բերել։

Առանձին ստուգեք retained volumes-ը, backups-ը, IP-ները և console connection ռեսուրսները։ Ցանցը ջնջեք միայն, երբ այլ ծառայություն այն չի օգտագործում։ Մեկ փորձի պատճառով մի մաքրեք ամբողջ հաշիվը։

Հաճախ տրվող հարցեր

Ինչո՞ւ ինստանս չի ստեղծվում, եթե քվոտա կա։

Քվոտան հաշվի իրավունքն է, capacity-ն՝ տարածաշրջանի հասանելի ռեսուրսը։ Մեկը մյուսը չի ապահովում։

Պե՞տք է վերբեռնել private SSH key-ը։

Ոչ։ Ինստանսին տալիս եք public .pub բանալին։ Private key-ը մնում է ձեր համակարգչում։

Նոր Ubuntu 24.04 x86 E2.1.Micro ինստանսի օրինակ՝ համապատասխան Oracle հաշվում։ Հաշվի հաստատում չի երաշխավորվում, և ընթացակարգը բոլոր հաշիվների ու տարածաշրջանների կենդանի փորձարկում չէ։

Պաշտոնական աղբյուրներ

  1. Փաստաթուղթ 1․ docs.oracle.com
  2. Փաստաթուղթ 2․ docs.oracle.com
  3. Փաստաթուղթ 3․ docs.oracle.com
  4. Փաստաթուղթ 4․ docs.oracle.com
  5. Փաստաթուղթ 5․ docs.oracle.com
  6. Փաստաթուղթ 6․ docs.oracle.com
  7. Փաստաթուղթ 7․ docs.oracle.com
  8. Փաստաթուղթ 8․ docs.oracle.com
  9. Փաստաթուղթ 9․ docs.oracle.com
  10. Փաստաթուղթ 10․ docs.cloud-init.io
  11. Փաստաթուղթ 11․ docs.oracle.com
  12. Փաստաթուղթ 12․ documentation.ubuntu.com
  13. Փաստաթուղթ 13․ docs.oracle.com

Առնչվող ուղեցույցներ