احراز هویت کلیدی SSH از یک جفت کلید استفاده میکند: کلید خصوصی روی دستگاه مدیر میماند و کلید عمومی در حساب مقصد قرار میگیرد. این راهنما برای Debian پشتیبانیشده است؛ Debian 11 پس از پایان LTS رسمی در اوت ۲۰۲۶ نیازمند برنامه مهاجرت یا پشتیبانی جداگانه است. تنظیم کلید، پایان عمر سیستمعامل را جبران نمیکند.
ساخت کلید روی رایانه مدیر
ssh-keygen -t ed25519 -C "server-admin"
این فرمان را روی دستگاه خود اجرا کنید، نه برای تولید کلید خصوصی مشترک میان همه مدیران روی سرور. برای فایل کلید گذرواژه مناسب تعیین کنید و اگر کلید موجود دارید، هنگام اعلان نام فایل از بازنویسی ناخواسته آن جلوگیری کنید. فایل .pub عمومی است؛ فایل بدون این پسوند را ارسال نکنید.
انتقال کلید عمومی و آزمون
ssh-copy-id -i ~/.ssh/id_ed25519.pub siteadmin@server.example.com
ssh -i ~/.ssh/id_ed25519 siteadmin@server.example.com
نام حساب و hostname نمونه را تغییر دهید. برای پورت سفارشی، گزینه -p را به فرمان اتصال و ابزار انتقال اضافه کنید. fingerprint میزبان را از مسیر مستقل مانند کنسول تطبیق دهید؛ هشدار تغییر کلید میزبان را صرفاً با حذف known_hosts نادیده نگیرید. در حساب مقصد، پوشه .ssh و authorized_keys باید متعلق به همان کاربر و برای دیگران قابل نوشتن نباشند.
پیش از تغییر سیاست sshd
یک نشست فعال را باز نگه دارید. تنظیم مؤثر میتواند از فایل اصلی، Includeها یا Matchها بیاید؛ فقط دیدن یک خط در sshd_config کافی نیست. از نسخه پشتیبان پیکربندی استفاده کنید و syntax را بررسی کنید.
sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T
خروجی -T بدون مشخصات اتصال، لزوماً تمام Matchهای وابسته به کاربر و آدرس را نشان نمیدهد. نام سرویس در Debian معمولاً ssh است. پس از آزمون، reload کنترلشده و ورود تازه انجام دهید.
چه زمانی رمز یا root را محدود کنیم؟
تنها وقتی ورود کلیدی حساب مستقل، sudo و کنسول بازیابی تأیید شده است. اگر به احراز هویت چندمرحلهای مبتنی بر keyboard-interactive نیاز دارید، تغییر کورکورانه آن گزینه میتواند MFA را مختل کند. سیاست سازمان و همه مسیرهای ورود را در نظر بگیرید.
عیبیابی Permission denied
- با ssh -v مشخص کنید کدام کلید پیشنهاد میشود؛ لاگ را بدون داده حساس به اشتراک بگذارید.
- کاربر مقصد، مالکیت فایل، مجوزها و AllowUsers یا Match را بررسی کنید.
- در صورت چند کلید، مسیر IdentityFile و رفتار agent را کنترل کنید؛ کلید خصوصی را برای حل مشکل روی سرور کپی نکنید.
مطالعه مرتبط
منابع و مستندات
بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵. دستورهای نمونه برای محیط مشخصشدهاند؛ پیش از استفاده روی سرویس عملیاتی، سازگاری محیط و نسخه پشتیبان را بررسی کنید.