~/.ssh/config ফাইল: লম্বা কমান্ডের বদলে ছোট নাম
কীভাবে একবার মেশিন বর্ণনা করবেন এবং দুই শব্দের কমান্ডে সংযোগ করবেন, কী, ইউজার, পোর্ট সেট করবেন, এবং সংযোগ সচল রাখবেন।
আপডেট: ২৩ আগস্ট, ২০২৬
ssh -i ~/.ssh/id_ed25519 -p 22 root@203.0.113.10 লেখার বদলে আপনি ssh vds টাইপ করতে পারেন। এটি আপনাকে একবার আপনার কম্পিউটারে সেটআপ করতে হবে।
ফাইলটি কোথায় থাকে
macOS এবং Linux-এ এটি ~/.ssh/config। Windows-এ C:\Users\<you>\.ssh\config (Windows Terminal-এ একই ~/.ssh/config পাথ)। ফাইলটি নাও থাকতে পারে — এটি তৈরি করুন:
mkdir -p ~/.ssh
nano ~/.ssh/config
chmod 600 ~/.ssh/config
পারমিশন গুরুত্বপূর্ণ: ফাইলটি যদি সবার পড়ার যোগ্য হয়, তাহলে ক্লায়েন্ট এটি পড়তে অস্বীকার করতে পারে।
ন্যূনতম এন্ট্রি
Host vds
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
এখন এটি কাজ করে:
ssh vds
অন্যান্য টুলও শর্ট নামটি ব্যবহার করে:
scp dump.sql vds:/root/
sftp vds
rsync -avz ./site/ vds:/var/www/site/
ফাইল কপি করার জন্য দেখুন scp এবং rsync এবং SFTP।
দরকারি প্যারামিটার
Host vds
HostName 203.0.113.10
User artem
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3
| প্যারামিটার | কেন এটি দরকার |
|---|---|
IdentitiesOnly yes | ক্লায়েন্ট শুধু নির্দিষ্ট কী-ই অফার করে। অনেক কী থাকলে এবং সার্ভার চেষ্টা কেটে দিলে এটি আপনাকে বাঁচায় |
ServerAliveInterval | প্রতি ৩০ সেকেন্ডে একটি প্যাকেট পাঠায়, যাতে নিষ্ক্রিয়তার কারণে কানেকশন না কাটে |
Port | যদি আপনি SSH একটি নন-স্ট্যান্ডার্ড পোর্টে সরিয়ে নেন |
User | এই হোস্টের জন্য ডিফল্ট ইউজারনেম |
একাধিক মেশিন
Host vds-web
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Host vds-db
HostName 203.0.113.20
User artem
IdentityFile ~/.ssh/id_ed25519
Host *
ServerAliveInterval 30
Host * ব্লকটি সব এন্ট্রির জন্য সাধারণ সেটিংস নির্ধারণ করে। ক্রম গুরুত্বপূর্ণ: প্রতিটি প্যারামিটারের জন্য প্রথম মিলটিই জেতে, তাই সাধারণ ব্লকটি নিচে রাখুন।
সাধারণ ভুল
- ট্যাব দিয়ে ইনডেন্ট এবং শেষে স্পেস — কিছু ক্লায়েন্ট এতে অভিযোগ করে। চারটি স্পেস ব্যবহার করুন।
- Windows-এ ব্যাকস্ল্যাশসহ কী পাথ — লিখুন
~/.ssh/id_ed25519। HostNameনা থাকা — তাহলে ক্লায়েন্টvdsনামের একটি হোস্টে কানেক্ট করার চেষ্টা করবে এবং সেটি খুঁজে পাবে না।- ফাইলে পারমিশন 644 — এগুলো
600করুন।
একটি হোস্টে ঠিক কী প্রযোজ্য তা দেখতে:
ssh -G vds
ssh -v vds
প্রথম কমান্ডটি চূড়ান্ত প্যারামিটারগুলো প্রিন্ট করে, দ্বিতীয়টি কানেকশনের অগ্রগতি দেখায় — এটি জানায় কোন কী অফার করা হয়েছে।
configফাইলটি শুধু আপনার দিকটাই বর্ণনা করে। মেশিনটি কী গ্রহণ করে তা নির্ধারিত হয় তার/etc/ssh/sshd_configদ্বারা, দেখুন SSH কী।