SSH روش استاندارد مدیریت سرور است: در چند ثانیه یک شل رمزگذاریشده از رایانهی شما باز میکند. این راهنما نشان میدهد چگونه از لینوکس، macOS و ویندوز به VPS Linux Infrawire خود وصل شوید، سرور را در اولین اتصال بررسی کنید و تنظیمات را ذخیره کنید تا با یک کلمه وارد شوید.
📋 پیشنیازها
- یک VPS لینوکس روشن (Ubuntu 24.04، Debian 12، AlmaLinux 9 یا Rocky 9).
- آدرس IP سرور و رمز root: از بخش کاربری خود میتوانید IP و رمز root مربوط به VPS را پیدا کنید.
- یک کلاینت SSH: در لینوکس، macOS و ویندوز 10/11 بهصورت پیشفرض وجود دارد.
- دسترسی خروجی از شبکهی شما به پورت SSH (پیشفرض 22).
🐧 اتصال از لینوکس یا macOS
ترمینال را باز کنید و دستور زیر را اجرا کنید. بهجای VPS_IP آدرس سرور خود (IPv4 یا IPv6) را بنویسید.
Bashssh root@VPS_IP
برای آدرس IPv6 همین نحو بدون کروشه بهکار میرود:
Bashssh root@2001:db8::10
هنگام درخواست، رمز root را تایپ کنید. هنگام تایپ چیزی نمایش داده نمیشود و این طبیعی است. اگر حساب معمولی را ترجیح میدهید، root را با USER عوض کنید.
🪟 اتصال از ویندوز 10/11
ویندوز همراه با کلاینت OpenSSH عرضه میشود. PowerShell یا Windows Terminal را باز کنید و دقیقاً همین دستور را بزنید:
PowerShellssh root@VPS_IP
اگر دستور پیدا نشد، کلاینت را در PowerShell با دسترسی مدیر نصب کنید:
PowerShellGet-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*' Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
🔎 اولین اتصال و اثر انگشت کلید میزبان
بار اول، SSH اثر انگشت کلید سرور را نشان میدهد و میپرسد به آن اعتماد دارید یا نه:
TEXTThe authenticity of host 'VPS_IP (VPS_IP)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?
این مرحله از شما در برابر حملهی مرد میانی محافظت میکند. اگر راه دیگری برای ورود به سرور دارید، این مقدار را با مقداری که سرور اعلام میکند مقایسه کنید:
Bashssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
پاسخ yes بدهید. کلید در ~/.ssh/known_hosts ذخیره میشود و در هر ورود بعدی بررسی میشود.
🔧 پورت سفارشی و فایل ~/.ssh/config
اگر سرویس SSH روی پورت دیگری گوش میدهد، آن را با -p بدهید (حرف بزرگ -P مخصوص scp است):
Bashssh -p 2222 root@VPS_IP
برای اینکه هر بار همهچیز را تایپ نکنید، فایل ~/.ssh/config را بسازید یا ویرایش کنید (در ویندوز: C:\Users\USER\.ssh\config):
INI1Host myvps 2 HostName VPS_IP 3 User root 4 Port 2222 5 ServerAliveInterval 30 6 ServerAliveCountMax 3
در لینوکس و macOS مجوزها را محدود کنید و سپس با نام مستعار وصل شوید:
Bashchmod 600 ~/.ssh/config ssh myvps
همین نام مستعار با scp و rsync هم کار میکند، مثلاً scp backup.tar.gz myvps:/root/.
✅ بررسی برقراری اتصال
وقتی اعلان ظاهر شد، مطمئن شوید روی ماشین درست هستید:
Bashhostname cat /etc/os-release ip -br addr who
برای پایان نشست exit را تایپ کنید یا Ctrl+D را بزنید. برای دیدن جزئیات یک تلاش ناموفق، گزینهی -v را اضافه کنید (تا -vvv):
Bashssh -v root@VPS_IP
🛠️ عیبیابی
Connection refused. هیچ سرویسی روی آن پورت گوش نمیدهد یا فایروال آن را مسدود کرده است. IP و پورت را بررسی کنید، سپس سرویس را از کنسول VPS یا نشست دیگری ببینید. نام یونیت در Ubuntu/Debian برابر ssh و در AlmaLinux/Rocky برابر sshd است:
Bashsudo systemctl status ssh sudo ss -tlnp | grep sshd sudo ufw status
در AlmaLinux/Rocky خروجی sudo firewall-cmd --list-all را ببینید و اگر پورت را عوض کردهاید آن را آنجا هم مجاز کنید.
Permission denied (publickey,password). رمز اشتباه است، کاربر وجود ندارد یا ورود با رمز غیرفعال است. رمز را دوباره از بخش کاربری خود بخوانید، نام کاربری را بررسی کنید و گزینههای PermitRootLogin و PasswordAuthentication را در /etc/ssh/sshd_config ببینید. پس از هر تغییر sudo sshd -t را اجرا کنید و سرویس را دوباره بارگذاری کنید.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED. کلید ارائهشده با کلید ذخیرهشده در known_hosts فرق دارد. پس از نصب مجدد VPS این امر طبیعی است، اما میتواند نشانهی شنود اتصال هم باشد، پس از علت مطمئن شوید. اگر موجه است، ورودی قدیمی را حذف کنید و دوباره وصل شوید:
Bashssh-keygen -R VPS_IP
Connection timed out. بستهها هرگز نمیرسند: IP، فایروال محلی یا شبکهی سازمانی و روشن بودن VPS را بررسی کنید.
🚀 اکنون با یک دستور از هر سیستمی به VPS لینوکس خود دسترسی دارید. گام بعدی: رفتن به کلیدهای SSH برای ورود امنتر.