
آموزش تنظیم کلیدهای SSH در اوبونتو
پروتکل Secure Shell یا SSH یکی از پروتکلهای رمزنگاریشده است که به کاربران اجازه میدهد ازطریق شبکه غیرایمن با خیال راحت به کامپیوتر راه دور دسترسی داشته باشند. اگرچه SSH از احراز هویت برمبنای رمزعبور پشتیبانی میکند، بهطورکلی توصیه میشود بهجای آن از کلیدهای «SSH» استفاده کنید. کلیدهای SSH روش امنتری برای ورود به سرور «SSH» هستند؛ زیرا دربرابر حملات رایج هک رمزعبور آسیبپذیر نیستند.
یک جفت کلید SSH از دو رشته طولانی کاراکتر ایجاد میشود: یک کلید عمومی و یک کلید خصوصی. کلید عمومی را میتوانید روی هر سروری قرار دهید و سپس با استفاده از کلاینت SSH که به کلید خصوصی دسترسی دارد، به سرور متصل شوید. هنگامی که کلیدهای عمومی و خصوصی باهم تطبیق پیدا میکنند، سرور «SSH» بدون نیاز به رمزعبور اجازه دسترسی میدهد. با محافظت از کلید خصوصی با عبارت عبور اختیاری، میتوانید امنیت جفت کلید خود را حتی بیشتر هم کنید.
- تنظیم کلیدهای SSH مرحله ۱. ایجاد جفت کلید
- تنظیم کلیدهای SSH مرحله ۲. تعیین محل ذخیره کلیدها
- تنظیم کلیدهای SSH مرحله ۳. ایجاد کلمه عبور
- تنظیم کلیدهای SSH مرحله ۴. کپیکردن کلید عمومی در سرور شما
- مرحله ۵. غیرفعالکردن احراز هویت SSH مبتنیبر رمزعبور (اختیاری)
- سخن پایانی
- سؤالات متداول
تنظیم کلیدهای SSH مرحله ۱. ایجاد جفت کلید
اولین قدم ایجاد یک جفت کلید در ماشین کاربر (کلاینت) است. دستور زیر را در خط فرمان محلی خود تایپ کنید:
ssh-keygen -t ed25519
Output Generating public/private ed25519 key pair.
پسازآن، تأییدی مبنیبر آغاز فرایند تولید کلید خواهید دید و اطلاعاتی از شما خواسته میشود که در مرحله بعد، درباره آنها صحبت خواهیم کرد.
برای آشنایی کامل با سرویس SSH مقالهی زیر را از دست ندهید.
معرفی سرویس SSH و برخی تنظیمات امنیتی در آنتوجه: اگر در سیستم قدیمیتری هستید که از ایجاد جفت کلید ed25519 پشتیبانی نمیکند یا سروری که به آن متصل میشوید از آنها پشتیبانی نمیکند، باید بهجای آن یک جفت کلید «rsa» قوی ایجاد کنید:
ssh-keygen -t rsa -b 4096
این دستور –t فلگ نوع «type» را به rsa تغییر میدهد و یک –b 4096 فلگ «bits» اضافه میکند تا یک کلید 4096 بیتی ایجاد کند.

تنظیم کلیدهای SSH با ایجاد جفت کلیدها
تنظیم کلیدهای SSH مرحله ۲. تعیین محل ذخیره کلیدها
اولین فرمان از دستور «ssh-keygen» از شما میپرسد که کجا کلیدها را ذخیره کنید:
Output Enter file in which to save the key (/home/sammy/.ssh/id_ed25519):
در اینجا برای ذخیره فایلها در مکان پیشفرضِ دایرکتوری SSH بر Home Directory خود، میتوانید «Enter» را فشار دهید. همچنین با تایپکردن آن پس از prompt و زدن «Enter»، میتوانید نام یا مکان دیگری برای فایل انتخاب کنید.
تنظیم کلیدهای SSH مرحله ۳. ایجاد کلمه عبور
دومین و آخرین prompt از ssh-keygen است که از شما میخواهد Passphrase را وارد کنید:
Output Enter passphrase (empty for no passphrase):
این به شما بستگی دارد که آیا میخواهید از Passphrase استفاده کنید یا خیر که ما استفاده از آن را بهشدت توصیه میکنیم. امنیت یک جفت کلید صرفنظر از روش رمزگذاری، همچنان به این واقعیت بستگی دارد که برای دیگران دردسترس نباشد. اگر کلید خصوصی بدون کلمه عبور دراختیار کاربران غیرمجاز قرار گیرد، آنان میتوانند به هر سروری که با کلید عمومی مرتبط پیکربندی کردهاید، وارد شوند.
اشکال اصلی داشتن Passphrase (تایپکردن) را میتوان با استفاده از سرویس ssh-keygen رفع کرد که موقتاً کلید قفلنشده شما را ذخیره میکند و آن را دردسترس کلاینت SSH قرار میدهد. بسیاری از این عوامل با Native Keychain سیستمعامل شما یکسو شدهاند و روند بازکردن قفل را آسانتر میکنند.
برای آموزش نصب SSH در اوبونتو از طریق LAN و همچنین غیرفعالسازی آن مقالهی زیر را بخوانید.
آموزش نصب و غیرفعالسازی SSH در Ubuntuبهطور خلاصه، کل فرایند تولید کلید بهصورت زیر است:
ssh-keygen -t ed25519
Output Generating public/private ed25519 key pair. Enter file in which to save the key (/home/sammy/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/sammy/.ssh/id_ed25519 Your public key has been saved in /home/sammy/.ssh/id_ed25519.pub The key fingerprint is: SHA256:EGx5HEXz7EqKigIxHHWKpCZItSj1Dy9Dqc5cYae+1zc [email protected] The key's randomart image is: +--[ED25519 256]--+ | o+o o.o.++ | |=oo.+.+.o + | |*+.oB.o. o | |*. + B . . | | o. = o S . . | |.+ o o . o . | |. + . ... . | |. . o. . E | | .. o. . . | +----[SHA256]-----+
اکنون کلید عمومی در /home/sammy/.ssh/id_ed25519.pub و کلید خصوصی در /home/sammy/.ssh/id_ed25519 قرار دارد.
تنظیم کلیدهای SSH مرحله ۴. کپیکردن کلید عمومی در سرور شما
هنگامی که جفت کلید ایجاد شد، کلید عمومی را روی سرور مدنظرتان برای اتصال قرار دهید. کلید عمومی را با دستور ssh-copy-id در فایل authorized_keys سرور میتوانید کپی کنید. مطمئن شوید که نام کاربری و آدرس نمونه را جایگزین میکنید:
ssh-copy-id [email protected]_server_address
پس از تکمیل Command، میتوانید بدون درخواست رمزعبور ازطریق SSH وارد سرور شوید. بااینحال، اگر هنگام ایجاد کلید SSH خود Passphrase تنظیم کنید، از شما خواسته میشود که Passphrase را وارد کنید. این سرور ریموت نیست که رمزعبور را میخواهد؛ بلکه کلاینت لوکال SSH شما میخواهد تا کلید خصوصی را برایش رمزگشایی کنید.
نوشتار زیر آموزش کاملی است از استفاده SSH در پاورشل آن را از دست ندهید.
استفاده از SSH در پاورشلمرحله ۵. غیرفعالکردن احراز هویت SSH مبتنیبر رمزعبور (اختیاری)
هنگامی که کلیدهای SSH خود را روی سرور کپی کردید، ممکن است بخواهید با پیکربندی سرور SSH برای غیرفعالکردن احراز هویت مبتنیبر رمزعبور، ورود با رمزعبور را کاملاً ممنوع کنید. هشدار: قبل از اینکه احراز هویت مبتنیبر رمزعبور را غیرفعال کنید، مطمئن شوید که میتوانید با موفقیت با کلید SSH خود وارد سرور شوید و هیچ کاربر دیگری روی سرور وجود ندارد که از رمزعبور برای ورود استفاده کند.
برای غیرفعالکردن احراز هویت SSH مبتنیبر رمزعبور، فایل پیکربندی SSH را باز کنید که معمولاً در آدرس زیر یافت میشود:
sudo nano /etc/ssh/sshd_config
این دستور فایل را در تکست ادیتور Nano باز خواهد کرد. خطی از فایلی را پیدا کنید که شامل PasswordAuthentication است (اگر خطی وجود ندارد، آن را ایجاد کنید). مطمئن شوید که با علامت «#» در ابتدای خط Comment out نشده است و آن را به «no» تغییر دهید:
PasswordAuthentication no
پس از اتمام کار، فایل را ذخیره کنید و ببندید. در ویرایشگر Nano، از «CTRL+O» برای ذخیره استفاده کنید. برای تأیید نام فایل «Enter» و سپس «CTRL+X» را برای خروج فشار دهید. برای اعمال این تغییرات، سرویس SSH را Reload کنید:
sudo systemctl reload sshd
قبل از خروج از سِشِنِ SSH فعلی خود، کانکشنی آزمایشی را در ترمینال دیگری ایجاد کنید تا از اتصال خود مطمئن شوید.

تنظیم کلیدهای SSH در اوبونتو چگونه است؟
برای افزایش امنیت سرور CentOS خود میتوانید پورت SSH را در آن تغییر دهید. مقالهی زیر آموزش کاملی از این کار است.
تغییر پورت SSH در لینوکس CentOSسخن پایانی
در آموزش تنظیم کلیدهای SSH، یک جفت کلید SSH ایجاد و کلید عمومی خود را در یک سرور کپی و (درصورت نیاز) احراز هویت مبتنیبر رمزعبور را کاملاً غیرفعال کردیم.
سؤالات متداول
1. کلید عمومی و خصوصی SSH چطور کار میکند؟
- یک جفت کلید ایجاد کنید.
- کلید عمومی را به سرور بدهید.
- برای احراز هویت، سرور از شما میخواهد که ثابت کنید کلید خصوصی مطابق با کلید عمومی را دارید.
- با ارائه آن، ثابت میکنید که کلید خصوصی را دارید.
2. کلیدهای SSH کجا ذخیره میشوند؟
بهطور پیشفرض، کلیدها در دایرکتوری ~/. ssh در دایرکتور هوم کاربر ذخیره میشوند. کلید خصوصی id_rsa با کلید عمومی وابسته به آن با نام id_rsa. Pub حضور دارد.
3. چگونه SSH key را کپی کنم؟
- در پنجره ترمینال، کامند مقابل را وارد کنید: ssh-keygen –t rsa.
- promptها را دنبال کنید تا کلید ساخته شود. حال باید File Name و Passphrase تهیه کنید. درادامه، کلیدهای Public و Private ساخته میشوند.
با استفاده از دستور مقابل، کلید عمومی را در تمامی کامپیوترهای نود کپی کنید:
ssh-copy-id username @ node_name