ساخت و استفاده از SSH Key در لینوکس
SSH Key یکی از امنترین روشها برای اتصال به سرورهای لینوکسی است. در این آموزش، بهصورت مرحلهبهمرحله نحوه ساخت و استفاده از SSH Key در لینوکس را بررسی میکنیم تا بتوانید امنیت اتصالهای خود را افزایش دهید.
ssh key چیست؟
SSH Key یک روش امن برای احراز هویت در سرورهای لینوکسی است که بهجای استفاده از رمز عبور، از یک جفت کلید عمومی و خصوصی استفاده میکند. در این روش، کلید عمومی روی سرور قرار میگیرد و کلید خصوصی روی سیستم کاربر باقی میماند. استفاده از SSH Key باعث افزایش امنیت اتصال SSH، جلوگیری از حملات brute force و حذف نیاز به وارد کردن رمز عبور در هر اتصال میشود. به همین دلیل، ساخت SSH Key در لینوکس یکی از بهترین روشها برای مدیریت دسترسی امن به سرورها محسوب میشود.
رمز عبور چیست و چه تفاوتی با SSH Key دارد؟
رمز عبور (Password) رایجترین روش احراز هویت در اتصال به سرور است که کاربر با وارد کردن نام کاربری و گذرواژه وارد سیستم میشود. با اینکه استفاده از رمز عبور ساده است، اما در برابر حملات حدس رمز، keylogger و brute force آسیبپذیرتر است. در مقابل، SSH Key امنیت بسیار بالاتری نسبت به رمز عبور دارد و برای سرورهای لینوکسی، VPS و هاستهای ابری گزینهای حرفهایتر محسوب میشود. به همین دلیل، بسیاری از مدیران سیستم توصیه میکنند بهجای رمز عبور، از SSH Key برای اتصال به سرور استفاده شود.
ساخت ssh key جدید
ساخت SSH Key در لینوکس معمولاً با ابزار ssh-keygen انجام میشود و این امکان را فراهم میکند تا کلیدهای اختصاصی برای هر سیستم یا سرور داشته باشید. استفاده از SSH Key جدید به کاهش خطر دسترسی غیرمجاز و مدیریت بهتر دسترسیها کمک میکند.
1- ترمینال سیستم رو باز کنید.
2- متن زیر را جایگذاری کنید و جای ایمیل مثال زده شده ایمیل خودتون رو جایگذاری کنید.
ssh-keygen -t ed25519 -C "[email protected]"
اکر از سیستم قدیمی استفاده میکنید که Ed25519 را پشتیبانی نمیکند از دستور زیر میتوانید استفاده کنید.
ssh-keygen -t rsa -b 4096 -C "[email protected]"

در این مرحله از شما ادرس برای ساخت فایل ssh key میخواد و به صورت پیش فرض میتوانید Enter را فشار دهید تا از این مرحله گذر کنید و همان ادرس پیش فرض انتخاب شود در غیر این صورت آدرس دلخواه خود را وارد کنید.

3- در این مرحله رمز عبور کلید خود را وارد کنید میتوانید خالی هم بزارید با کلید Enter.

افزودن ssh key به user-agent
پس از ساخت SSH Key، برای استفاده راحتتر از آن در اتصالهای SSH، میتوان کلید خصوصی را به SSH Agent اضافه کرد. SSH Agent ابزاری است که کلیدهای SSH را بهصورت موقت در حافظه نگه میدارد و باعث میشود هنگام اتصال به سرور، نیازی به وارد کردن مکرر passphrase نباشد. با افزودن SSH Key به SSH Agent، فرآیند احراز هویت سریعتر و امنتر انجام میشود و مدیریت چندین کلید SSH در لینوکس سادهتر خواهد شد.
1- مرحله اول ssh-agent رو در بک گراند اجرا کنید.
$ eval "$(ssh-agent -s)"
> Agent pid 59566
2- در این مرحله کلید خصوصی رو به user-agent اضافه کنید.
اگر کلید را با نام دیگری ایجاد کرده اید میتوانید به جای id_ed25519 نام دیگری را وارد کنید و یا اگر کامند های قبلی را با همان نام قبلی اجرا کرده اید میتوانید کامل از کامند زیر استفاده کنید.
ssh-add ~/.ssh/id_ed25519