ফ্রি Ubuntu VPS তৈরি করে SSH যাচাই করুন
Eligible Oracle Always Free instance-এ Ubuntu চালিয়ে নিজের কম্পিউটার থেকে যাচাই করা SSH সংযোগ তৈরি করুন। আগে account অনুমোদন, resource quota এবং capacity থাকতে হবে। এই ধাপগুলো public VM-এর জন্য, local virtual machine-এর জন্য নয়।
VPSuntu · হালনাগাদ · পড়তে প্রায় 6 মিনিট
এই নির্দেশনায়
একটি ছোট eligible instance ঠিক করুন
এই উদাহরণে account home region-এ AMD VM.Standard.E2.1.Micro, 1 GB RAM এবং Ubuntu 24.04 LTS x86 image ব্যবহার করা হয়। ছোট administration environment হিসেবে নিন, পরীক্ষিত app capacity হিসেবে নয়। Console-এ exact shape ও image-এর free eligibility দেখুন।
Instance, network ও console connection পরিচালনার permission এবং নিজের কম্পিউটারে OpenSSH লাগবে। Local command Linux, macOS বা WSL shell-এ চালাবেন। Signup বা capacity নিশ্চিত নয়; আগে কোটা ও trial-এর শর্ত মিলিয়ে নিন।
আগে SSH key তৈরি ও সংরক্ষণ করুন
নিজের কম্পিউটারে key pair তৈরি করুন। একই নামের file থাকলে 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 file দিন। Login public key আপনাকে শনাক্ত করে, পরের host key সার্ভারকে শনাক্ত করে—এগুলো আলাদা।
Compartment, region, নাম ও ID-সহ inventory রাখুন। ubuntu-free-ssh নামটি নতুন experiment-এর উদাহরণ; নাম একা OCI resource-কে অনন্যভাবে চিহ্নিত নাও করতে পারে।
সীমিত SSH-সহ public subnet তৈরি করুন
এই experiment-এর জন্য আলাদা VCN, যেমন 10.20.0.0/16, এবং regional public subnet, যেমন 10.20.1.0/24 তৈরি করুন। অন্য network-এ যুক্ত করলে range যেন overlap না করে। VCN-এ internet gateway তৈরি ও enable করুন।
Subnet-এর route table-এ destination 0.0.0.0/0 থেকে ওই gateway দিন। Instance-এর public IPv4-ও লাগবে; শুধু route সেট করলেই IP পাওয়া যায় না।
Security list-এ stateful ingress rule দিন: আপনার বর্তমান public IPv4-এর শেষে /32, protocol TCP, source ports All, destination 22। Private Wi-Fi address নয়, internet থেকে দেখা address ব্যবহার করুন। দরকারি default egress ও ICMP rule রাখুন।
এই dedicated list-এর সবার জন্য খোলা SSH rule বদলান। Narrow rule অন্য permissive rule বাতিল করে না; সব attached security list ও NSG দেখুন। এই উদাহরণে নতুন NSG, NAT gateway বা load balancer নেই। নিজের public IP বদলালে /32 rule-ও বদলাতে হবে।
Ubuntu instance-এর সেটিং যাচাই করুন
Home region-এর Compute → Instances → Create instance থেকে নির্ধারিত compartment নির্বাচন করুন। Creation-এর আগে প্রতিটি item পরীক্ষা করুন।
ছোট পর্দায় সব কলাম দেখতে টেবিলটি পাশে স্ক্রল করুন।
| Setting | এই উদাহরণের নির্বাচন |
|---|---|
| Image | Eligible Canonical Ubuntu 24.04 LTS, x86/amd64 |
| Shape | VM.Standard.E2.1.Micro, AMD, 1 GB RAM |
| Boot volume | 50 GB, eligible performance setting ও অবশিষ্ট quota |
| Network | Dedicated public subnet এবং public IPv4 |
| SSH key | oci-ubuntu-free.pub public key |
| অতিরিক্ত service | অতিরিক্ত volume, paid image software বা managed add-on নয় |
Home region-এর মোট 200 GB boot/block allowance-এ পুরোনো volume-ও গণনা করুন। Trial credit কোনো charge ঢেকে রাখলে সেটি পরের মাসের free eligibility প্রমাণ করে না। সন্দেহ থাকলে সম্পূর্ণ খরচের তালিকা আবার দেখুন।
পরের verification-এর জন্য নিচের cloud-init snippet local text file হিসেবে সংরক্ষণ করুন। Advanced options → Management → Initialization script-এ upload করুন। এটি public host key ও fingerprint console-এ দেখায়; private key নেই।
#cloud-config
ssh:
emit_keys_to_console: trueEligible capacity না থাকলে ভুল করে paid বিকল্প নির্বাচন করবেন না। Running হলে instance OCID, boot-volume OCID ও public IPv4 লিখে রাখুন।
Console history থেকে guest-এর পরিচয় মিলান
প্রথম SSH prompt গ্রহণের আগে authenticated OCI Console-এ ঠিক সেই instance খুলুন। OS Management বা Resources-এর Console connection থেকে Launch Cloud Shell connection চালু করুন। History capture-এর জন্য এই connection ও account permission দরকার।
Console history → View current history থেকে প্রথম boot output সংরক্ষণ করুন। Cloud-init-এর SSH HOST KEY FINGERPRINTS অংশে guest host key-এর type ও SHA256 fingerprint দেখুন। Authorized user key-এর fingerprint-এর সঙ্গে গুলিয়ে ফেলবেন না।
Console connection resource-এ দেখানো fingerprint OCI console endpoint-এর, guest-এর সাধারণ SSH endpoint-এর নয়। Boot record না পেলে documented console recovery ব্যবহার করুন। যাচাই না করা ssh-keyscan output দিয়ে ঘাটতি পূরণ করবেন না।
নিজের কম্পিউটার থেকে SSH পরীক্ষা করুন
Local terminal-এ 203.0.113.20-এর জায়গায় instance-এর আসল public IPv4 দিন। Prompt-এর key type ও SHA256 fingerprint boot record-এর সঙ্গে মিললেই গ্রহণ করুন।
ssh -o StrictHostKeyChecking=ask -i ~/.ssh/oci-ubuntu-free ubuntu@203.0.113.20Ubuntu platform image-এর username 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 -SProvisioning শেষ হয়েছে কি না, Ubuntu 24.04, amd64, memory/disk এবং SSH listener দেখুন। নিজের client থেকে login সফল হলে এই public SSH path কাজ করে। এতে HTTP site প্রকাশ বা app capacity যাচাই হয় না।
Image-এর firewall রেখে update করুন
Cloud-init সফলভাবে শেষ হলে package metadata refresh করে proposed upgrade দেখে সম্মতি দিন।
sudo apt update
sudo apt upgradeমূল সেশন খোলা রেখে দ্বিতীয় SSH login পরীক্ষা করুন। Reboot দরকার হলে server এখনও disposable থাকা অবস্থায় sudo reboot দিন, ফিরে এলে আবার connect ও check করুন। Reboot-এ SSH বিচ্ছিন্ন হওয়া স্বাভাবিক।
এই OCI Ubuntu image-এ UFW install বা enable করবেন না। Image-এর persistent firewall ও প্রয়োজনীয় iSCSI rule-এর সঙ্গে সংঘাত হতে পারে। সরবরাহ করা rule রাখুন। Website-এর জন্য OCI network permission এবং সামঞ্জস্যপূর্ণ guest rule দুটোই লাগবে।
ছোট পর্দায় সব কলাম দেখতে টেবিলটি পাশে স্ক্রল করুন।
| সমস্যা | আগে যা দেখবেন |
|---|---|
| SSH timeout | Public IPv4, route, বর্তমান source /32 এবং সব rule |
| Permission denied (publickey) | ubuntu account, private key ও uploaded public key |
| Host key mismatch | Instance ID ও trusted boot record |
| Provisioning বা package error | Console history, cloud-init এবং repository connectivity |
সমস্যা থাকলে SSH diagnostic steps অনুসরণ করুন। পরের ধাপে Nginx ও HTTPS সেটআপ করা যায়, তবে সেখানে Oracle-এর firewall exception বজায় রাখুন।
Recovery copy রাখুন বা experiment শেষ করুন
গুরুত্বপূর্ণ data ও rebuild note বাইরে রাখুন এবং ফাইল রিস্টোর পরীক্ষা করুন। প্রশাসনিক access পাওয়া production readiness প্রমাণ করে না।
শেষে দরকারি data export ও verify করুন। নথিভুক্ত compartment-এ OCID মিলিয়ে ঠিক ubuntu-free-ssh instance-এ Terminate দিন। Boot volume সাধারণত retained থাকে; নির্দিষ্ট volume আর না লাগলে এবং export যাচাই হলে তবেই permanent deletion নির্বাচন করুন।
Retained volume, backup, IP ও console connection inventory-র সঙ্গে মিলান। Dedicated subnet ও gateway অন্য কেউ ব্যবহার না করলেই সরান। একটি experiment-এর জন্য account-wide deletion নয়। পরে remaining resource ও usage আবার পরীক্ষা করুন।
প্রশ্ন ও উত্তর
এটি কি নিজের কম্পিউটারের VM?
না, provider-এর infrastructure-এ public address-সহ VM। SSH আপনার কম্পিউটারের public IP-তে সীমিত রাখা হয়েছে। নিজের কম্পিউটার বন্ধ হলেও VM তার ওপর নির্ভর করে না।
Free shape পাওয়া না গেলে কী করব?
অপেক্ষা করুন অথবা অন্য documented programme মূল্যায়ন করুন। ভিন্ন region, shape বা বড় allocation-ও বিনামূল্যে হবে ধরে নেবেন না।