პრაქტიკული გზამკვლევი / უფასო 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-ში. მოამზადეთ საჯარო IPv4, რომლიდანაც SSH-ს გამოიყენებთ. წინასწარ წაიკითხეთ უფასო პროგრამების კვოტები და ხარჯები.

შექმენით გასაღები სამუშაო სადგურზე

ქვემოთ მოცემული ბრძანება ქმნის RSA 3072 გასაღებს. თუ ამ სახელით ფაილი უკვე არსებობს, აირჩიეთ სხვა სახელი და შემდეგ ბრძანებებშიც შეცვალეთ; არსებულ გასაღებს ნუ გადააწერთ. გამოიყენეთ საიდუმლო ფრაზა.

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 ფაილი. პირადი გასაღები სამუშაო სადგურზე შეინახეთ; არ ჩასვათ cloud-init-ში და არ გააგზავნოთ მიმოწერაში. მომხმარებლის შესვლის გასაღები და სერვერის host key სხვადასხვა რამაა.

რესურსების აღრიცხვაში ჩაწერეთ compartment, რეგიონი, უნიკალური სახელი და შემდგომში OCID. სახელის დამთხვევა ზუსტი რესურსის იდენტიფიკატორს ვერ ცვლის.

მოამზადეთ გამოყოფილი საჯარო ქსელი

მაგალითში გამოიყენება VCN 10.20.0.0/16 და რეგიონული საჯარო subnet 10.20.1.0/24. ჯერ გადაამოწმეთ, რომ ეს დიაპაზონები არსებულ ქსელებს არ ემთხვევა. შექმენით და ჩართეთ internet gateway; subnet-ის route table-ში მიუთითეთ 0.0.0.0/0 ამ gateway-ზე. VM-ს საჯარო IPv4 სჭირდება.

დაამატეთ stateful ingress: წყარო თქვენი მიმდინარე საჯარო 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 და დარჩენილი საერთო კვოტა
ქსელიმომზადებული საჯარო subnet და public IPv4
SSH keyმხოლოდ მომზადებული .pub ფაილი
დამატებითი რესურსებიამ მაგალითში არ ემატება

Oracle-ის 200 GB საერთო boot/block კვოტაში არსებული მოცულობებიც ითვლება. ფასის შეფასება, რომელსაც საცდელი კრედიტი ფარავს, მუდმივ უფასო შესაბამისობას არ ადასტურებს.

ქვემოთ მოცემული cloud-config შეინახეთ ფაილად და მიუთითეთ Advanced options → Management → Initialization-ში. მასში პირადი გასაღები არ ჩაწეროთ.

#cloud-config
ssh:
  emit_keys_to_console: true

შექმნის შემდეგ ჩაწერეთ instance OCID, boot volume OCID და public IPv4. თუ ადგილი არ არის, შეჩერდით; შეუმოწმებელი ფასიანი ალტერნატივა არ აირჩიოთ.

სანდო კონსოლიდან გადაამოწმეთ სერვერის იდენტობა

OCI-ში გახსენით ზუსტად ჩაწერილი ინსტანსი. შესაბამისი უფლებებით გამოიყენეთ Console connection → Launch Cloud Shell connection, ან Console history → View current history და შეინახეთ პირველი ჩატვირთვის SSH HOST KEY FINGERPRINTS: გასაღების ტიპი და SHA256 ანაბეჭდი.

ეს უნდა იყოს guest სისტემის SSH host key. OCI console connection-ის რესურსის ანაბეჭდი მხოლოდ OCI-ის console endpoint-ს ადასტურებს და guest SSH-ის იდენტობას არ ცვლის. თქვენი .pub გასაღების ანაბეჭდიც სხვა რამაა.

თუ guest-ის სანდო ანაბეჭდი ვერ იპოვეთ, გამოიყენეთ პროვაიდერის სათანადო recovery გზა. უცნობი ქსელიდან მიღებული ssh-keyscan შედეგი თავისთავად იდენტობის დამადასტურებელი არ არის.

შედით SSH-ით და წაიკითხეთ საწყისი მდგომარეობა

სამუშაო სადგურზე 203.0.113.20 შეცვალეთ რეალური საჯარო მისამართით. პირველად დაკავშირებისას შეადარეთ ნაჩვენები ტიპი და 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

წარმატებული შესვლა არ ნიშნავს, რომ HTTP-საიტი გამოქვეყნებულია ან 1 GB RAM თქვენს აპლიკაციას ჰყოფნის. შეცდომის შემთხვევაში ჯერ საწყისი გარემო გამოიკვლიეთ.

განაახლეთ სისტემა და შეამოწმეთ განმეორებითი შესვლა

sudo apt update
sudo apt upgrade

შეინარჩუნეთ არსებული SSH-სესია და მეორე ტერმინალიდან ხელახლა შედით. ამ ახალ, საცდელ ინსტანსზე შეამოწმეთ reboot-იც და შემდეგ ისევ კავშირი და სერვისები.

OCI Ubuntu-ზე UFW არ ჩართოთ: პროვაიდერის iptables და iSCSI წესები უნდა შენარჩუნდეს. HTTP-ის გამოქვეყნებას საჭირო პორტები OCI-ისა და guest-ის ორივე დონეზე სჭირდება. საწყის HTTPS-ინსტრუქციაში დაიცავით Oracle-ის გამონაკლისი.

პატარა ეკრანზე ყველა სვეტის სანახავად ცხრილი ჰორიზონტალურად გადაახვიეთ.

სიმპტომიშემოწმება
კავშირის ვადის ამოწურვაPublic IP, route, gateway და მიმდინარე /32 წესი
Permission denied (publickey)ubuntu მომხმარებელი და სწორ private key-სთან დაკავშირებული public key
Host key-ის შეუთავსებლობასანდო console record და ზუსტი ინსტანსი
cloud-init-ის შეცდომაშესაბამისი logs, repository და პირველი ჩატვირთვის მდგომარეობა

დეტალური ნაბიჯებისთვის გახსენით SSH-კავშირის დიაგნოსტიკა.

შეინახეთ აღდგენის მასალა და დაასრულეთ ექსპერიმენტი

მონაცემებისა და rebuild ინსტრუქციის დამოუკიდებელი ასლი შეინახეთ VM-ის გარეთ. გამოსცადეთ ფაილების აღდგენა; ასლის არსებობა აღდგენის წარმატებას არ ადასტურებს.

დასრულებისას ჯერ გაიტანეთ საჭირო მონაცემები და გადაამოწმეთ ასლი. შემდეგ Terminate გაუშვით ზუსტად იმ instance OCID-ზე, რომელიც აღრიცხეთ. Boot volume შეიძლება შენარჩუნდეს: სამუდამოდ წაშალეთ მხოლოდ დადასტურებული, აღარ საჭირო მოცულობა, რომლის მონაცემების გატანაც შემოწმებულია.

ცალ-ცალკე შეამოწმეთ შენარჩუნებული volumes, backups, IP მისამართები და console connection რესურსები. ქსელი წაშალეთ მხოლოდ მაშინ, როცა სხვა სერვისი აღარ იყენებს. ერთი ექსპერიმენტის გამო მთელი ანგარიშის რესურსები არ გააუქმოთ.

ხშირი კითხვები

რატომ არ იქმნება ინსტანსი, თუ კვოტა მაქვს?

კვოტა ანგარიშის უფლებაა, ხოლო capacity რეგიონში ხელმისაწვდომ რესურსს ნიშნავს. ერთი მეორეს არ უზრუნველყოფს.

უნდა ავტვირთო პირადი SSH-გასაღები?

არა. ინსტანსს public .pub გასაღები გადაეცემა. პირადი გასაღები თქვენს სამუშაო სადგურზე რჩება.

ახალი 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

დაკავშირებული გზამკვლევები

01 / გზამკვლევი

უფასო VPS: შეადარეთ კვოტები და პირობები

შეადარეთ უფასო VPS Oracle-სა და Google Cloud-ში. განასხვავეთ მუდმივი კვოტა და საცდელი კრედიტი; შეამოწმეთ დისკის, IP-ის, ტრაფიკისა და ასლების ხარჯი.

წაიკითხეთ გზამკვლევი ↗
02 / გზამკვლევი

SSH-კავშირის შეცდომები: იპოვეთ შეფერხების მიზეზი

შეამოწმეთ SSH-კავშირის შეცდომები Ubuntu VPS-ზე: ქსელი, სერვისი, გასაღები და ჰოსტის იდენტობა. დიაგნოსტიკისას შეინარჩუნეთ მოქმედი წვდომა.

წაიკითხეთ გზამკვლევი ↗
03 / გზამკვლევი

Ubuntu VPS-ის გამართვა პირველი HTTPS-საიტისთვის

Ubuntu VPS-ის გამართვა 24.04 LTS-ზე: SSH-გასაღებები, ცალკე ადმინისტრატორი, Nginx, DNS და HTTPS. შეამოწმეთ სერტიფიკატის განახლება და გადატვირთვა.

წაიკითხეთ გზამკვლევი ↗