مفت Ubuntu VPS بنائیں اور SSH رابطہ جانچیں
Oracle Always Free کے اہل instance پر Ubuntu چلائیں اور اپنے کمپیوٹر سے پہلا SSH رابطہ تصدیق کریں۔ اس طریقے کے لیے منظور شدہ account، دستیاب capacity، مطلوبہ permissions اور منتخب وسائل کے لیے بچا ہوا quota چاہیے۔ یہ چھوٹا انتظامی تجربہ ہے، production گنجائش کا وعدہ نہیں۔
VPSuntu · تازہ کاری · تقریباً 7 منٹ
اس مضمون میں
اہل account اور چھوٹا instance منتخب کریں
مثال home region میں ایک AMD VM.Standard.E2.1.Micro، 1 GB RAM اور Ubuntu 24.04 LTS x86 image استعمال کرتی ہے۔ Console میں بالکل اسی image/shape کی free eligibility جانچیں۔ Instance، network اور console connection بنانے کی اجازت اور اپنے کمپیوٹر پر OpenSSH چاہیے۔
Client commands Linux، macOS یا WSL کے shell میں چلیں گی۔ Signup اور capacity کی ضمانت نہیں؛ idle instance واپس لیا جا سکتا ہے۔ پہلے مفت کوٹے اور trial کا موازنہ پڑھیں۔
Launch سے پہلے SSH key بنائیں
اپنے کمپیوٹر پر اگلے commands چلائیں۔ یہی filename پہلے موجود ہو تو پورے طریقے میں دوسرا نام لیں؛ موجودہ key overwrite نہ کریں۔ Prompt پر 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.pubPrivate file محفوظ رکھیں اور instance میں صرف .pub upload کریں۔ Login key آپ کی شناخت ہے؛ بعد میں ملایا جانے والا server host key مشین کی شناخت ہے۔ دونوں الگ keys ہیں۔
Compartment، region، نام اور identifiers کی inventory رکھیں۔ ubuntu-free-ssh صرف نئے experiment کا نام ہے؛ OCI میں نام اکیلا منفرد identifier نہیں۔
Public subnet اور محدود SSH تیار کریں
Networking میں اس experiment کے لیے الگ VCN، مثلاً 10.20.0.0/16، اور regional public subnet 10.20.1.0/24 بنائیں۔ دوسری networks سے جوڑنا ہو تو ranges نہ ٹکرائیں۔ اسی VCN میں internet gateway بنائیں اور enable کریں۔
Subnet کی route table میں destination 0.0.0.0/0 کا target وہ gateway رکھیں۔ Instance کو public IPv4 بھی چاہیے؛ route اکیلا address نہیں دیتا۔
Security list میں stateful ingress rule رکھیں: source اپنے موجودہ public IPv4 کے ساتھ /32، protocol TCP، source ports All اور destination port 22۔ Wi-Fi کا private address نہ لگائیں۔ ضروری default egress اور ICMP rules محفوظ رکھیں۔
اسی dedicated list کا world-open SSH rule بدلیں۔ محدود rule کسی دوسرے permissive rule کو منسوخ نہیں کرتا؛ تمام attached lists اور NSGs دیکھیں۔ مثال میں NSG، NAT gateway یا load balancer نہیں بنتا۔ اپنے public IP کی تبدیلی پر /32 بھی درست کریں۔
Ubuntu instance بنائیں
Home region میں Compute → Instances → Create instance کھولیں۔ مطلوبہ compartment اور ubuntu-free-ssh نام منتخب کریں۔
چھوٹی اسکرین پر باقی کالم دیکھنے کے لیے جدول کو پہلو میں اسکرول کریں۔
| Setting | اس مثال کا انتخاب |
|---|---|
| Image | اہل Canonical Ubuntu 24.04 LTS platform image، x86/amd64 |
| Shape | VM.Standard.E2.1.Micro، AMD، 1 GB RAM |
| Boot volume | 50 GB، اہل performance settings اور بچا quota |
| Network | الگ public subnet اور assigned public IPv4 |
| SSH key | oci-ubuntu-free.pub public key |
| Extras | اضافی volumes، paid image software یا optional managed services نہیں |
Oracle کے home region میں combined boot/block allowance 200 GB ہے؛ پرانے volumes بھی شامل کریں۔ Trial credit کسی charge کو ڈھانپ رہا ہو تو اسے جاری free eligibility کا ثبوت نہ سمجھیں۔ پورے خرچ کی جانچ کریں۔
نیچے متن کو local file میں محفوظ کرکے Advanced options → Management → Initialization script میں upload کریں۔ یہ cloud-init کو public host keys اور fingerprints console پر لکھنے دیتا ہے؛ اس میں private key نہیں۔
#cloud-config
ssh:
emit_keys_to_console: trueSettings پڑھنے کے بعد create کریں۔ اہل capacity نہ ہو تو رکیں؛ غلطی سے paid shape نہ چنیں۔ Running ہونے پر instance OCID، boot-volume OCID اور public IPv4 ریکارڈ کریں۔
Console history سے guest host key کی تصدیق کریں
OCI Console میں sign in کرکے عین اسی instance کو کھولیں۔ OS Management یا Resources میں Console connection سے Launch Cloud Shell connection منتخب کریں۔ Console history capture کرنے کے لیے یہ connection اور مناسب permissions درکار ہیں۔
Console history میں View current history کھولیں اور first-boot output محفوظ کریں۔ cloud-init کے SSH HOST KEY FINGERPRINTS حصے میں guest host key کی type اور SHA256 fingerprint لکھیں؛ authorized user keys سے نہ ملائیں۔
Console connection resource کی fingerprint، OCI console endpoint کی ہے، guest کے عام SSH endpoint کی نہیں۔ اگلے قدم میں guest کے boot output والی شناخت چاہیے۔ وہ record نہ ملے تو documented console recovery استعمال کریں؛ غیر تصدیق شدہ ssh-keyscan کو بدل نہ بنائیں۔
اپنے کمپیوٹر سے رابطہ اور system check
Workstation terminal میں 203.0.113.20 کو instance کے اصل public IPv4 سے بدلیں؛ مثال کا address documentation کے لیے مخصوص ہے۔ پہلی prompt کی key type اور SHA256 کو trusted boot record سے ملائیں، پھر ہی قبول کریں۔
ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20Ubuntu platform image کا user ubuntu ہے، opc نہیں۔ Login کے بعد VPS پر یہ read-only checks چلائیں۔
cloud-init status --wait
cat /etc/os-release
dpkg --print-architecture
free -h
df -h /
sudo ss -lntp
sudo iptables -SUbuntu 24.04، amd64، متوقع memory/disk اور مکمل provisioning دیکھیں۔ SSH listener اور اپنے workstation سے نئی connection اس public SSH راستے کی جانچ ہیں؛ اس سے HTTP site یا application capacity ثابت نہیں ہوتی۔
Image کا firewall برقرار رکھ کر update کریں
cloud-init کامیابی سے مکمل ہو تو package metadata تازہ کریں اور upgrade قبول کرنے سے پہلے فہرست پڑھیں۔
sudo apt update
sudo apt upgradeپرانا session کھلا رکھ کر دوسرا SSH login جانچیں۔ Reboot ضروری ہو تو ابھی disposable server پر sudo reboot کے بعد دوبارہ رابطہ اور بنیادی checks کریں۔ Reboot جان بوجھ کر SSH بند کرتا ہے۔
اس OCI Ubuntu image پر UFW install یا enable نہ کریں۔ یہ persistent firewall اور ضروری iSCSI boot/block-volume rules سے ٹکرا سکتا ہے۔ موجودہ rules برقرار رکھیں؛ ویب سائٹ کے ports کے لیے OCI network permissions اور compatible guest rules دونوں چاہیے۔
چھوٹی اسکرین پر باقی کالم دیکھنے کے لیے جدول کو پہلو میں اسکرول کریں۔
| خرابی | پہلی جانچ |
|---|---|
| SSH timeout | Public IPv4، gateway route، موجودہ source /32، تمام rules |
| Permission denied (publickey) | User ubuntu، private key اور uploaded public key |
| Host-key mismatch | Instance شناخت اور trusted boot record |
| Provisioning یا package error | Console history، cloud-init اور repository رابطہ |
رسائی نہ بنے تو اسی SSH error کی تشخیص کریں۔ Rules flush نہ کریں۔ اگلا مرحلہ ویب سائٹ کی تنصیب ہے؛ وہاں بھی Oracle والا firewall راستہ ہی اپنائیں۔
بحالی کی copy رکھیں یا یہی experiment ختم کریں
اہم data اور rebuild notes instance سے باہر رکھیں اور فائل restore آزمائیں۔ ابھی کے checks administrative access ثابت کرتے ہیں، پوری production readiness نہیں۔
کام مکمل ہو تو ضروری data export کریں۔ درج compartment میں OCID سے صحیح instance منتخب کرکے Terminate کریں۔ Boot volume عام طور پر retain ہو سکتا ہے؛ اسی volume کی ضرورت نہ ہو اور export verified ہو تب permanent deletion چنیں۔
Inventory میں retained volumes، backups، addresses اور console connections دیکھیں۔ Dedicated subnet/gateway ہٹانے سے پہلے دوسرے استعمال کی تصدیق کریں۔ ایک experiment کے لیے پورے account کی صفائی نہ کریں؛ بعد کی usage reports بھی دیکھیں۔
سوال جواب
یہ public VPS ہے یا local VM؟
یہ provider کی VM ہے جس کا public address ہے۔ SSH اپنے workstation کے public IP تک محدود ہے۔ اسے چلنے کے لیے آپ کا ذاتی کمپیوٹر ہمیشہ آن نہیں رہتا۔
Free shape دستیاب نہ ہو تو؟
انتظار کریں یا دوسرے documented programme کا جائزہ لیں۔ دوسری shape، region یا زیادہ RAM کو خود سے مفت فرض نہ کریں۔
اصل تکنیکی دستاویزات
- Oracle Always Free resources
- Oracle platform images and essential firewall rules
- Creating an Oracle Compute instance
- Oracle SSH key pairs
- Oracle public subnet scenario
- Oracle internet gateway routing
- Oracle security rules
- Oracle console connections and Cloud Shell
- Capturing Oracle instance console history
- Cloud-init Keys to Console module
- Connecting to an OCI Linux instance
- Ubuntu 24.04 release notes: Oracle firewall compatibility
- Terminating an Oracle instance