# آموزش کلید SSH در لینوکس؛ ssh-keygen و ورود با authorized_keys - URL: https://faceit.ir/educational/linux-ssh-keys-ssh-keygen-guide-2026/ - Markdown: https://faceit.ir/educational/linux-ssh-keys-ssh-keygen-guide-2026.md - Language: fa-IR - Date: 2026-09-16 - Section: آموزش - Authors: رها رضایی > ssh-keygen ابزار OpenSSH برای ساخت و مدیریت کلید احراز هویت است. این آموزش ساخت کلید Ed25519، گذاشتن عبارت عبور، نصب کلید عمومی در authorized_keys روی سرور و عیب‌یابی Permission denied را طبق manpage اوبونتو Noble گام‌به‌گام پوشش می‌دهد. ## خلاصه مطلب - بدون آرگومان، ssh-keygen کلید Ed25519 می‌سازد؛ نوع را با -t عوض کنید - کلید خصوصی و .pub در ~/.ssh می‌مانند؛ عمومی روی سرور در authorized_keys - عبارت عبور قابل بازیابی نیست؛ گم شدنش یعنی ساخت کلید تازه - سرور با اثبات مالکیت کلید خصوصی و تطبیق عمومی اجازهٔ ورود می‌دهد - قالب پیش‌فرض OpenSSH برای حفاظت کلید در حالت سکون ترجیح داده شده است ## متن بدون آرگومان، ssh-keygen کلید Ed25519 می‌سازد؛ نوع را با -t عوض کنید کلید خصوصی و .pub در ~/.ssh می‌مانند؛ عمومی روی سرور در authorized_keys عبارت عبور قابل بازیابی نیست؛ گم شدنش یعنی ساخت کلید تازه سرور با اثبات مالکیت کلید خصوصی و تطبیق عمومی اجازهٔ ورود می‌دهد قالب پیش‌فرض OpenSSH برای حفاظت کلید در حالت سکون ترجیح داده شده است ssh-keygen ابزار رسمی OpenSSH برای تولید، مدیریت و تبدیل کلیدهای احراز هویت SSH است. طبق manpage اوبونتو Noble (بستهٔ openssh-client ۹٫۶)، اگر بدون آرگومان اجرا شود یک کلید Ed25519 می‌سازد. مدل کلیدعمومی راز را روی کلاینت نگه می‌دارد و فقط مادهٔ عمومی را روی سرور پخش می‌کند. پیش‌نیازها و نقش‌ها کلاینت: رایانه‌ای که با آن به سرور وصل می‌شوید؛ کلید خصوصی اینجا می‌ماند. سرور: مقصد SSH؛ فقط کلید عمومی در ~/.ssh/authorized_keys اضافه می‌شود. هرگز: فایل خصوصی را به سرور، چت یا مخزن گیت کپی نکنید. ساخت کلید روی کلاینت ترمینال را باز کنید و یکی از این دو را اجرا کنید: ssh-keygen یا با نوع و توضیح صریح: ssh-keygen -t ed25519 -C comment مسیر ذخیرهٔ کلید خصوصی را تأیید کنید؛ معمولاً ~/.ssh/id_ed25519 (کلید عمومی با پسوند .pub کنار آن ساخته می‌شود). عبارت عبور (passphrase) را وارد کنید. می‌تواند خالی باشد — برای کلید میزبان باید خالی باشد — یا رشته‌ای با طول دلخواه. manpage عبارت خوب را حدود ۱۰ تا ۳۰ نویسه، ترکیبی از حروف بزرگ و کوچک، رقم و نویسهٔ غیرحرفی می‌داند. اثر انگشت را با فرمان زیر ببینید: ssh-keygen -l استخراج عمومی از خصوصی با -y و عوض‌کردن عبارت عبور با -p ممکن است. اگر عبارت گم شود بازیابی ممکن نیست؛ باید کلید تازه بسازید و عمومیِ جدید را روی ماشین‌های دیگر کپی کنید. نوع کلید را با -t عوض می‌کنید: dsa، ecdsa، ecdsa-sk، ed25519، ed25519-sk و rsa. قالب پیش‌فرض نوشتن کلید، قالب خاص OpenSSH است که حفاظت در حالت سکون را بهتر می‌کند. نصب کلید عمومی روی سرور (authorized_keys) روی کلاینت محتوای فایل .pub را بخوانید (یک خط است). همان یک خط را در ~/.ssh/authorized_keys حساب مقصد روی سرور اضافه کنید. ورود آزمایشی: ssh user@server بدون پرسیدن رمز حساب؛ اگر برای خود کلید عبارت عبور گذاشته‌اید، آن جداگانه از رمز حساب است. کلید خصوصی روی کلاینت بماند؛ فقط عمومی را روی سرور کپی کنید. هنگام ورود، کلاینت مالکیت کلید خصوصی را ثابت می‌کند و سرور بررسی می‌کند کلید عمومی متناظر در authorized_keys مجاز است. می‌توانید چند کلید عمومی را خط‌به‌خط جمع کنید تا لپ‌تاپ، دسکتاپ و توکن جداگانه مجاز شوند. شکست رایج — Permission denied: مجوز پوشهٔ .ssh و پروندهٔ authorized_keys را چک کنید و در صورت نیاز با ssh -v عیب‌یابی کنید — بدون افشای محتوای کلید خصوصی. گونه‌های کلید و چند فرمان کمکی گزینه‌های -sk برای اصالت‌سنج FIDO هستند و به ارائه‌دهنده (-w) نیاز دارند. توضیح اولیه «user@host» است و با -c عوض می‌شود. manpage می‌گوید ssh-keygen معمولاً یک‌بار برای هر کاربر اجرا می‌شود؛ ساخت کلید تازه برای هر میزبان لازم نیست مگر سیاست جداسازی کلیدها چنین بخواهد. مرجع فرمان‌ها manpage رسمی ssh-keygen در اوبونتو Noble است. بیشتر Ed25519 می‌سازید یا هنوز RSA؟ --- Cite as فیسیت with the URL above. Comments and ads on the HTML page are not editorial claims.