ساخت و مدیریت کلید SSH؛ ورود بدون رمز و امن
کلید SSH جایگزین رمز عبور میشود و خطر brute-force را حذف میکند؛ در این مقاله ساخت، نصب و نگهداری کلید را گامبهگام میبینید.
آخرین بهروزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی
- ساخت و مدیریت کلید SSH؛ ورود بدون رمز و امن
- یک جفت کلید ed25519 با passphrase بسازید
- از کلید و passphrase نسخه پشتیبان رمزگذاریشده بگیرید
چرا این موضوع مهم است؟
موضوع SSH یکی از پایههای نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفهجویی در زمان پشتیبانی میشود.
هدف این مقاله، اجرای قابل تکرار و امن مراحل روی سرورهای مجازی ایران و اروپاست؛ نه صرفاً کپی چند دستور.
پیشنیازها
- دسترسی SSH با کاربر root یا کاربر دارای sudo
- Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیعهای مشابه)
- نسخه پشتیبان از فایلها و دیتابیسهای مهم
راهنمای گامبهگام
گام 1 — یک جفت کلید ed25519 با passphrase بسازید
یک جفت کلید ed25519 با passphrase بسازید. اگر روی چند سرور کار میکنید، این مورد را یکبار روی محیط تست اجرا و سپس روی تولید اعمال کنید.
گام 2 — کلید عمومی را در authorized_keys سرور قرار دهید
کلید عمومی را در authorized_keys سرور قرار دهید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیشفرض پرهیز کنید.
گام 3 — مجوزهای پوشه .ssh و فایل کلید را درست تنظیم کنید
مجوزهای پوشه .ssh و فایل کلید را درست تنظیم کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.
گام 4 — اتصال را با کلید تست کنید
اتصال را با کلید تست کنید. این کار را در بازه کمترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.
گام 5 — در sshd_config ورود با رمز را غیرفعال کنید
در sshd_config ورود با رمز را غیرفعال کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.
گام 6 — از کلید و passphrase نسخه پشتیبان رمزگذاریشده بگیرید
از کلید و passphrase نسخه پشتیبان رمزگذاریشده بگیرید. پس از اجرا، وضعیت سرویس و لاگها را کنترل کنید؛ تغییر بدون بررسی میتواند خطای پنهان ایجاد کند.
نمونه دستورها
ssh-keygen -t ed25519 -a 100
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
ssh -i ~/.ssh/id_ed25519 root@SERVER_IPنکات امنیتی و بهینهسازی
- پیش از هر تغییر بزرگ، نسخه پشتیبان قابل بازیابی تهیه کنید و بازیابی را تست کنید.
- نسخه پکیجها و سیستمعامل را بهروز نگه دارید؛ بسیاری از نفوذها از نسخههای قدیمی شروع میشوند.
- دسترسیها را حداقلی نگه دارید و فقط پورتها و کاربران لازم را باز بگذارید.
خطاهای رایج و راهحل
- اگر تغییرات اعمال نشد، کش مرورگر/برنامه و نیاز به reload یا restart را بررسی کنید.
- اگر مطمئن نیستید، تغییر را در محیط تست تکرار کنید و لاگ کامل را برای پشتیبانی بفرستید.
- اگر تغییرات اعمال نشد، کش مرورگر/برنامه و نیاز به reload یا restart را بررسی کنید.
سؤالات متداول
کلید ed25519 بهتر است یا RSA؟
برای اکثر سرورهای جدید ed25519 سریعتر و امنتر است؛ RSA 4096 فقط برای سازگاری با سیستمهای قدیمی.
چطور کلید را از سرور حذف کنم؟
خط مربوط به کلید را از authorized_keys حذف کنید و اتصال را دوباره تست کنید.
میلاد سرور پلنهای اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آیپی اختصاصی و قیمت شفاف ارائه میکند. برای مقایسه همه کشورها فهرست کامل سرورهای بینالملل را ببینید.
جمعبندی
اگر به منابع بیشتری نیاز دارید، پیش از ارتقای سرور ابتدا گلوگاه واقعی را با متریک مشخص کنید.