fa

احراز هویت با کلید SSH در VPS

ورود به VPS با رمز عبور در برابر حملات brute-force آسیب‌پذیر است. استفاده از کلید SSH به‌جای رمز عبور امنیت اتصال را به‌طور چشمگیری افزایش می‌دهد. کلیدهای SSH از رمزنگاری نامتقارن استفاده می‌کنند و عملاً غیرقابل حدس هستند. در این راهنما نحوه تولید کلید، انتقال به سرور و پیکربندی کامل را یاد می‌گیرید.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

تولید جفت کلید SSH روی کامپیوتر محلی

روی لینوکس و مک ترمینال را باز کنید و دستور ssh-keygen -t ed25519 -C "your-comment" را اجرا کنید. الگوریتم ed25519 امن‌تر و سریع‌تر از RSA است. یک مسیر برای ذخیره کلید وارد کنید (پیش‌فرض ~/.ssh/id_ed25519 مناسب است). یک passphrase قوی وارد کنید تا حتی در صورت سرقت کلید، بدون دانستن passphrase قابل استفاده نباشد. دو فایل ایجاد می‌شود: کلید خصوصی (id_ed25519) که هرگز نباید به اشتراک گذاشته شود، و کلید عمومی (id_ed25519.pub) که روی سرور قرار می‌گیرد.

انتقال کلید عمومی به VPS

ساده‌ترین روش استفاده از دستور ssh-copy-id است: ssh-copy-id -i ~/.ssh/id_ed25519.pub user@SERVER_IP. این دستور به‌طور خودکار کلید را در ~/.ssh/authorized_keys روی سرور اضافه می‌کند. اگر ssh-copy-id در دسترس نیست (مثلاً روی ویندوز)، می‌توانید محتوای فایل .pub را کپی کرده و با SSH به سرور وصل شوید و آن را به فایل authorized_keys اضافه کنید: echo "PUBLIC_KEY_CONTENT" >> ~/.ssh/authorized_keys. مجوز این فایل باید 600 باشد: chmod 600 ~/.ssh/authorized_keys.

غیرفعال‌کردن ورود با رمز عبور

پس از تایید اینکه با کلید می‌توانید وارد شوید، ورود با رمز عبور را غیرفعال کنید. فایل /etc/ssh/sshd_config را ویرایش کنید و مقادیر زیر را تنظیم کنید: PasswordAuthentication no، PubkeyAuthentication yes، و AuthorizedKeysFile .ssh/authorized_keys. سرویس SSH را ریستارت کنید: systemctl restart sshd. مهم: قبل از قطع جلسه فعلی، در یک ترمینال جداگانه امتحان کنید که با کلید می‌توانید وارد شوید. این کار از قفل شدن خودتان از سرور جلوگیری می‌کند.

مدیریت چندین کلید با SSH Config

اگر چندین سرور دارید، فایل ~/.ssh/config مدیریت آن‌ها را بسیار آسان می‌کند. یک بلاک برای هر سرور تعریف کنید: Host myserver با Hostname IP_ADDRESS، User username، Port 2222، و IdentityFile ~/.ssh/id_ed25519_myserver. پس از این تنظیم، به‌جای ssh -i ~/.ssh/key -p 2222 user@IP کافی است بنویسید: ssh myserver. SSH Agent را نیز فعال کنید تا passphrase را برای جلسه جاری در حافظه نگه دارد و لازم نباشد هر بار وارد کنید: ssh-add ~/.ssh/id_ed25519.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online