- RAM4GB DDR4
- CPU2 Cores / 2000MHz
- Storage30GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
جشنواره فروش
همواره تخفیف
اتصال به سرور با SSH Key
راهنمای جامع و گامبهگام ۲۰۲۶
آموزش کامل اتصال به سرور با کلید SSH — از تولید کلید تا پیکربندی امن سرور. امنترین روش احراز هویت برای مدیران سرور، توسعهدهندگان و DevOps.

پروتکل SSH و کلیدهای امنیتی — همهچیز که باید بدانید
قبل از شروع آموزش، درک درستی از SSH و مزایای استفاده از کلید به جای رمز عبور داشته باشیم.

SSH (Secure Shell) چیست؟
SSH یک پروتکل شبکهای رمزنگاریشده است که برای دسترسی امن به سیستمهای از راه دور طراحی شده. برخلاف Telnet که اطلاعات را بهصورت متن ساده ارسال میکند، SSH تمام دادهها را رمزنگاری میکند و از حملات Man-in-the-Middle جلوگیری مینماید.
~/.ssh/authorized_keys~/.ssh/id_rsaچرا کلید SSH بهتر از رمز عبور است؟
- غیرقابل حدس زدن (Brute Force)
- بدون نیاز به تایپ رمز هر بار
- رمزنگاری ۴۰۹۶ بیتی (RSA) یا Ed25519
- مناسب برای اسکریپتهای اتوماتیک
ساخت کلید SSH — تمام روشها در ۲۰۲۶
قبل از هر چیز باید یک جفت کلید SSH (عمومی + خصوصی) تولید کنید.
روش توصیهشده ۲۰۲۶ — Ed25519 (مدرنترین)
سریعتر، امنتر و سازگار با OpenSSH ۶.۵+
# روش توصیهشده ۲۰۲۶ — Ed25519 ssh-keygen -t ed25519 -C "[email protected]" # خروجی: Generating public/private ed25519 key pair. Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Enter] Enter passphrase (empty for no passphrase): [رمز امنیتی دلخواه] Enter same passphrase again: [تکرار رمز] Your identification has been saved in /home/user/.ssh/id_ed25519 Your public key has been saved in /home/user/.ssh/id_ed25519.pub The key fingerprint is: SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [email protected]
روش کلاسیک — RSA-۴۰۹۶ (سازگاری بالا)
برای سرورهای قدیمیتر یا سازمانهایی که RSA الزامی است
# روش کلاسیک — RSA با ۴۰۹۶ بیت ssh-keygen -t rsa -b 4096 -C "[email protected]" # پارامترها: # -t rsa → نوع الگوریتم: RSA # -b 4096 → طول کلید: ۴۰۹۶ بیت (توصیهشده) # -C → کامنت برای شناسایی کلید # مشاهده کلید عمومی پس از ساخت: cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC... [email protected] # بررسی فایلهای ساختهشده: ls -la ~/.ssh/ -rw------- 1 user user 3389 id_rsa ← کلید خصوصی (مخفی نگه دارید!) -rw-r--r-- 1 user user 743 id_rsa.pub ← کلید عمومی (برای سرور)
اتصال به سرور با SSH Key در لینوکس
راهنمای کامل برای Ubuntu، Debian، CentOS، AlmaLinux و تمام توزیعهای لینوکس.
انتقال کلید عمومی به سرور — روش اول (ssh-copy-id)
این سادهترین و سریعترین روش است:
# انتقال کلید با ssh-copy-id (توصیهشده) ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip # مثال واقعی: ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected] Number of key(s) added: 1 Now try logging into the machine with: ssh '[email protected]' and check to make sure that only the key(s) you wanted were added. # برای RSA: ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
انتقال دستی کلید عمومی — روش دوم
اگر ssh-copy-id در دسترس نیست یا نیاز به کنترل بیشتر دارید:
# روش one-liner — کپی و اجرا کنید cat ~/.ssh/id_ed25519.pub | ssh username@server_ip \ 'mkdir -p ~/.ssh && \ chmod 700 ~/.ssh && \ cat >> ~/.ssh/authorized_keys && \ chmod 600 ~/.ssh/authorized_keys' # یا به صورت مرحلهای: # مرحله ۱: کپی محتوای کلید عمومی cat ~/.ssh/id_ed25519.pub # مرحله ۲: اتصال به سرور و ایجاد فایل ssh username@server_ip mkdir -p ~/.ssh && chmod 700 ~/.ssh nano ~/.ssh/authorized_keys # کلید عمومی را paste کنید و Ctrl+X سپس Y chmod 600 ~/.ssh/authorized_keys
chmod 700 برای دایرکتوری .ssh و chmod 600 برای authorized_keys الزامی است!اتصال به سرور با کلید SSH
# اتصال با Ed25519 ssh -i ~/.ssh/id_ed25519 username@server_ip # اتصال با RSA ssh -i ~/.ssh/id_rsa username@server_ip # اتصال با پورت غیرپیشفرض ssh -i ~/.ssh/id_ed25519 -p 2222 username@server_ip # اگر کلید در مسیر پیشفرض است (سادهتر): ssh username@server_ip # خروجی موفق: Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0 x86_64) Last login: Mon Jan 15 10:30:00 2026 from 1.2.3.4 root@france-server:~$
پیکربندی SSH Config — اتصال سریعتر
با ایجاد فایل config در ~/.ssh/config، اتصال را ساده کنید:
# ایجاد یا ویرایش فایل config nano ~/.ssh/config # محتوای فایل: Host france-vps HostName 185.220.100.10 User root Port 22 IdentityFile ~/.ssh/id_ed25519 ServerAliveInterval 60 ServerAliveCountMax 3 Host my-server-2 HostName 192.168.1.100 User ubuntu Port 2222 IdentityFile ~/.ssh/id_rsa # ذخیره و تنظیم دسترسی chmod 600 ~/.ssh/config # حالا اتصال فقط با نام: ssh france-vps ssh my-server-2
اتصال SSH Key در ویندوز — PowerShell و PuTTY
دو روش اصلی برای استفاده از SSH Key در ویندوز.
از ویندوز ۱۰ نسخه ۱۸۰۹ به بعد، OpenSSH بهصورت پیشفرض موجود است.
# بررسی نصب OpenSSH Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' # نصب اگر موجود نیست Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 # ساخت کلید SSH ssh-keygen -t ed25519 -C "[email protected]" # کلیدها در این مسیر ذخیره میشوند: C:\Users\YourName\.ssh\id_ed25519 C:\Users\YourName\.ssh\id_ed25519.pub # انتقال کلید به سرور type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" # اتصال ssh -i $env:USERPROFILE\.ssh\id_ed25519 username@server_ip
برای کاربرانی که رابط گرافیکی را ترجیح میدهند.
- دانلود PuTTY از
putty.org - اجرای PuTTYgen
- انتخاب EdDSA یا RSA-۴۰۹۶
- کلیک Generate و حرکت موس
- ذخیره Private Key (.ppk)
- کپی Public Key و انتقال به سرور
# تبدیل کلید PuTTY به فرمت OpenSSH puttygen mykey.ppk -O private-openssh -o id_rsa puttygen mykey.ppk -O public-openssh -o id_rsa.pub
SSH Key در macOS — با Keychain یکپارچه
# ساخت کلید (مثل لینوکس) ssh-keygen -t ed25519 -C "[email protected]" # اضافه کردن به Keychain (مزیت مک) ssh-add --apple-use-keychain ~/.ssh/id_ed25519 # پیکربندی ~/.ssh/config برای Keychain خودکار nano ~/.ssh/config Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519 # انتقال کلید به سرور ssh-copy-id -i ~/.ssh/id_ed25519.pub root@server_ip # اتصال (بدون تایپ passphrase هر بار) ssh root@server_ip
پیکربندی امن SSH Server — ضروری برای همه سرورها
پس از اتصال موفق، این تنظیمات را حتماً اعمال کنید.

پیکربندی /etc/ssh/sshd_config — تنظیمات امنیتی کامل
# باز کردن فایل تنظیمات SSH sudo nano /etc/ssh/sshd_config ═══════════════════════════════════════ تنظیمات امنیتی ضروری — کپی کنید ═══════════════════════════════════════ # ۱. غیرفعال کردن ورود با رمز عبور PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no # ۲. فعالسازی احراز هویت با کلید PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # ۳. غیرفعال کردن ورود root (توصیهشده) PermitRootLogin prohibit-password # یا برای منع کامل: PermitRootLogin no # ۴. محدود کردن کاربران مجاز AllowUsers your_username deploy admin # ۵. تغییر پورت (اختیاری — کاهش bot attacks) Port 2222 # ۶. تنظیمات اضافی امنیتی MaxAuthTries 3 LoginGraceTime 30 ClientAliveInterval 300 ClientAliveCountMax 2 X11Forwarding no AllowAgentForwarding yes Protocol 2 # اعمال تغییرات sudo systemctl restart sshd # یا در Ubuntu 24.04: sudo systemctl restart ssh # تست قبل از بستن session! sudo sshd -t ← بررسی syntax
fail2ban — محافظت در برابر حملات Brute Force
# نصب fail2ban (Ubuntu/Debian) sudo apt install fail2ban -y # نصب (CentOS/AlmaLinux) sudo dnf install fail2ban -y # پیکربندی برای SSH sudo nano /etc/fail2ban/jail.local [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600 # فعالسازی sudo systemctl enable fail2ban && sudo systemctl start fail2ban # بررسی وضعیت sudo fail2ban-client status sshd
عیبیابی مشکلات رایج SSH Key

دستورات عیبیابی SSH
═══════════════════════════════════════ مشکل: Permission denied (publickey) ═══════════════════════════════════════ # اجرا با verbose mode برای debug ssh -vvv -i ~/.ssh/id_ed25519 username@server_ip # بررسی permissions (باید دقیقاً این باشد) stat ~/.ssh/ درست: drwx------ (700) stat ~/.ssh/id_ed25519 درست: -rw------- (600) stat ~/.ssh/authorized_keys درست: -rw------- (600) # تصحیح permissions اشتباه chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub chmod 600 ~/.ssh/authorized_keys ═══════════════════════════════════════ مشکل: Host key verification failed ═══════════════════════════════════════ ssh-keygen -R server_ip # سپس دوباره اتصال بگیرید ═══════════════════════════════════════ بررسی log سرور ═══════════════════════════════════════ sudo tail -f /var/log/auth.log sudo journalctl -u sshd -f
سرور مجازی فرانسه 🇫🇷 — بدون محدودیت، با بیشترین امنیت!
با سرور مجازی فرانسه نگارنوین، یک سرور اختصاصی در دیتاسنتر معتبر OVH داشته باشید. SSH Key از همان لحظه تحویل فعال است. بدون محدودیت قانونی، بدون فیلتر، با آیپی فرانسوی کلین و ثابت. شهروند دیجیتال فرانسه شوید!
پلنهای سرور مجازی — تحویل فوری با SSH Key
NVMe فوقسریع • ترافیک نامحدود • دیتاسنتر OVH • پشتیبانی ۲۴/۷
- RAM6GB DDR4
- CPU4 Cores / 4000MHz
- Storage40GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM10GB DDR4
- CPU6 Cores / 6000MHz
- Storage50GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM12GB DDR4
- CPU6 Cores / 6000MHz
- Storage60GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM16GB DDR4
- CPU8 Cores / 8000MHz
- Storage70GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM24GB DDR4
- CPU12 Cores / 12000MHz
- Storage80GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM32GB DDR4
- CPU12 Cores / 12000MHz
- Storage90GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
- RAM32GB DDR4
- CPU16 Cores / 16000MHz
- Storage100GB NVMe
- BandwidthUnlimited ♾️
- OSAll Versions
- Locations50 🌍
- Port10Gbps ⚡
🔒 تضمین بازگشت وجه ۲۴ ساعته | ⚡ تحویل فوری | 🇫🇷 دیتاسنتر OVH | 📞 پشتیبانی ۲۴/۷
مشاهده تمام پلنهای سرور فرانسه 🇫🇷پرتکرارترین سوالات درباره SSH Key
پاسخهای جامع برای رتبه اول گوگل
SSH Key چیست و چرا از آن استفاده میکنیم؟
SSH Key یک جفت کلید رمزنگاری (عمومی + خصوصی) است که برای احراز هویت امن در پروتکل SSH استفاده میشود. کلید عمومی روی سرور و کلید خصوصی روی سیستم شما ذخیره میشود. مزایای استفاده از SSH Key نسبت به رمز عبور: غیرقابل حدس زدن، بدون نیاز به تایپ رمز هر بار، رمزنگاری قویتر (۴۰۹۶ بیت)، مناسب برای اتوماسیون.
تفاوت RSA و Ed25519 چیست؟ کدام بهتر است؟
Ed25519 (توصیهشده ۲۰۲۶): سریعتر، کلید کوچکتر، امنیت بالاتر، مقاوم در برابر side-channel attacks.
RSA-4096: سازگاری بیشتر با سیستمهای قدیمی، استاندارد در محیطهای سازمانی.
اگر سرور شما از OpenSSH ۶.۵+ پشتیبانی میکند (که امروزه تقریباً همه سرورها)، Ed25519 را انتخاب کنید.
چرا SSH Key بهتر از رمز عبور است؟
SSH Key دارای مزایای مهمی است: ۱) امنیت رمزنگاری بسیار بالاتر — یک کلید RSA-۴۰۹۶ عملاً غیرقابل Brute Force است. ۲) بدون نگرانی از فیشینگ. ۳) میتوانید ورود با رمز عبور را کلاً غیرفعال کنید. ۴) مناسب برای اسکریپتهای اتوماتیک بدون نیاز به interaction. ۵) هیچ رمزی روی شبکه منتقل نمیشود.
خطای "Permission denied (publickey)" چطور رفع میشود؟
دلایل اصلی این خطا: ۱) دسترسیهای اشتباه فایلها — chmod 700 ~/.ssh و chmod 600 ~/.ssh/authorized_keys ۲) کلید عمومی به authorized_keys اضافه نشده. ۳) فایل authorized_keys در مسیر اشتباه است. ۴) در sshd_config گزینه PubkeyAuthentication فعال نیست. برای debug کامل: ssh -vvv username@server
چطور چند SSH Key برای سرورهای مختلف داشته باشم؟
از فایل ~/.ssh/config استفاده کنید. برای هر سرور یک Host تعریف کنید با IdentityFile متفاوت:
Host france-server
HostName 185.220.100.10
User root
IdentityFile ~/.ssh/id_franceHost github.com
User git
IdentityFile ~/.ssh/id_githubآیا سرور مجازی نگارنوین از SSH Key پشتیبانی میکند؟
بله! تمام سرورهای مجازی نگارنوین از روز اول از SSH Key پشتیبانی میکنند. پس از تحویل سرور، میتوانید بلافاصله SSH Key خود را اضافه کرده و ورود با رمز عبور را غیرفعال کنید. سرور مجازی فرانسه ما در دیتاسنتر OVH با Anti-DDoS سختافزاری، آیپی کلین فرانسوی و ترافیک نامحدود ارائه میشود.
passphrase چیست و آیا الزامی است؟
Passphrase یک رمز اضافی برای محافظت از کلید خصوصی است. اگر کلید خصوصی شما به دست کسی برسد، بدون passphrase نمیتواند از آن استفاده کند. برای سرورهای تولید (Production) و سرورهای حساس، استفاده از passphrase توصیه میشود. برای اسکریپتهای اتوماتیک میتوانید از ssh-agent استفاده کنید تا یک بار passphrase را وارد کنید.
چطور SSH Key قدیمی را از سرور حذف کنم؟
فایل ~/.ssh/authorized_keys را باز کنید و خط مربوط به کلید قدیمی را حذف کنید:
nano ~/.ssh/authorized_keys
# خط مربوط به کلید قدیمی را پیدا و حذف کنید
# Ctrl+X, Y برای ذخیره🎉 آموزش اتصال به سرور با SSH Key به پایان رسید!
حالا میتوانید با امنترین روش ممکن به سرورهای خود متصل شوید. برای داشتن یک سرور حرفهای در فرانسه، پلن موردنظر را انتخاب کنید.
شعار همیشگی: حفظ مشتریان فعلی، دعوت از مشتریان قبلی، جذب مشتریان آتی 💙
