نمایش نتایج: از 1 به 2 از 2
  1. Top | #1

    عنوان کاربر
    مدیرکل سایت
    فعالیت صنفی
    توسعه هوش مصنوعی
    نوشته ها
    243
    تشکر
    61
    105 پست

    sad ساختاراصلی کلید SSHدرسرورلینوکی

    وقتی صحبت از دسترسی امن به صورت ریموت به سرور می شود، SSH اولین راه ارتباطی است که به ذهنمان می رسد. خوشبختانه تمام توزیع های لینوکس از SSH پشتیبانی می کنند و تنها کاری که کاربر باید برای اتصال امن به سرور انجام دهد، ساخت و تنظیم کلید SSH در لینوکس است.

    SSH یک جانشین برتر Telnet است که از جفت کلید عمومی و خصوصی برای اعتبارسنجی و احرازهویت کاربران استفاده می کند. ssh-keygen ابزار لازم برای ساخت این کلیدها است.
    اگر به دنبال یادگیری نحوه کار SSH و آموزش تنظیم کلید SSH در لینوکس هستید تا در کنار اتصال امن به سرور خود، فایل های موردنظر را هم با دقت و امنیت بیشتری رد و بدل کنید، در جای درستی قرار دارید:



    SSH یا Secure Shell به عنوان یک پروتکل رمزنگاری مسئول برقراری ارتباط ریموت بین کلاینت و سرور است. سرورهای SSH از روش های مختلفی برای احراز هویت کلاینت ها استفاده می کنند که ابتدایی ترین آنها، استفاده از رمز عبور است که امنیت پایینی دارد.

    چون امنیت در هاست، سرور اختصاصی و سرور مجازی اهمیت زیادی دارد، پس باید به فکر استفاده از روش های احراز هویت قوی تر و امن تر باشید تا احتمال حمله هکرها و آسیب به سرور را به حداقل برسانید.

    با اینکه روش های امن زیادی برای اتصال امن به سرور وجود دارند ولی در بین آنها، کلیدهای SSH یکی از راهکارهای بسیار مناسبی هستند که درجه امنیت و اطمینان ارتباط کلاینت و سرور را بالا می برند.

    در این روش با استفاده ssh-keygen یک جفت کلید عمومی و خصوصی ایجاد می شود. کلید عمومی مخصوص سرور و کلید خصوصی هم مخصوص کلاینت است. کلاینت باید حساسیت زیادی در نگهداری از کلید خصوصی داشته باشد چون اگر یک لحظه غفلت کند، هکر می تواند به آن کلید دسترسی پیدا کند و بدون هیچ مرحله اضافی برای احراز هویت به سرور مرتبط با کلید عمومی متصل شود.

    کلید عمومی که مربوط به سرور است، قابل اشتراک است چون بدون داشتن کلید خصوصی مرتبط با آن، به هیچ وجه نمی توان به آن وصل شد. در واقع، روش کار احراز هویت کلید SSH در لینوکس به صورت زیر است:

    – بعد اینکه جفت کلید عمومی و خصوصی SSH ایجاد شد، کلید عمومی در سرور ریموت آپلود می شود. این کلید به فایل خاصی به اسم ssh/authorized_keys./~ اضافه می شود.

    – وقتی کلاینت سعی می کند که با استفاده از کلیدهای SSH احراز هویت کند، سرور بررسی می کند که آیا کلاینت موردنظر کلید خصوصی درست را در اختیار دارد یا نه. اگر کلاینت بتواند ثابت کند که مالک حقیقی کلید خصوصی است یک shell session ایجاد می شود یا دستور درخواستی کلاینت اجرا می شود.

    پس متوجه شدید که این روش احراز هویت چقدر در سطح امنیت دسترسی به سرور اهمیت دارند. مخصوصاً اگر با خرید سرور مجازی لینوکس (Linux VPS) سعی دارید که با پرداخت هزینه کمتر صاحب یک سرور امن و قدرتمند شوید، بهتر است با پیاده سازی چنین راهکارهای امنیتی، قدرت سرور مجازی خود را حفظ کنید و تمام دسترسی های غیرمجاز را از آن دور نگه دارید.

    SSH-KEYGEN چیست؟

    ssh-keygen ابزاری است که برای ساخت، مدیریت و تبدیل کلیدهای احراز هویت SSH استفاده می شود. این ابزار به صورت پیش فرض همراه SSH در اکثر سیستم عامل های لینوکس نصب می شود. در کل، این ابزار برای ایجاد کلید از ۳ الگوریتم زیر استفاده می کند:

    حداقل ۲۰۴۸ بیت – RSA

    ۱۰۲۴ بیت – DSA

    ۲۵۶، ۳۸۴ و ۵۲۱ بیت – ECDSA


    الگوریتم پیش فرض ssh-keygen، RSA است که سایز بیت آن 3072 است ولی در صورت تمایل می توانید به جای آن از الگوریتم دیگری استفاده کنید. برای تعیین نوع الگوریتم از آپشن t– و اندازه بیت از b– استفاده می شود که در ادامه نحوه اجرای آن را توضیح خواهیم داد.
    مراحل تنظیم کلید SSH در لینوکس

    مراحل تنظیم کلید SSH در لینوکس

    برای اینکه بتوانید احراز هویت بر اساس کلید SSH را برای سرور خود فعال کنید اول باید جفت کلید عمومی – خصوصی را ایجاد کنید و بعد مراحل پیکربندی را طی کنید.
    1. جفت کلید SSH را ایجاد کنید.

    همانطور که قبلاً هم اشاره کردیم برای ایجاد این جفت کلید باید از ابزار ssh-keygen استفاده کنید. پس، ترمینال سیستم خود را باز کرده و دستور زیر را اجرا کنید:

    ssh-keygen

    اگر هم می خواهید از الگوریتم دیگری استفاده کنید می توانید دستور بالا را به صورت زیر اجرا کنید:

    ssh-keygen -t rsa -b 4096

    خروجی دستور ایجاد کلید SSH به صورت زیر است:

    Generating public/private rsa key pair.

    // enter the name for ssh key pairs

    Enter file in which to save the key (/home/ASAM/.ssh/id_rsa):

    // enter passphrase for security

    Enter passphrase (empty for no passphrase):

    Enter same passphrase again:

    همانطور که میینید، خروجی از شما می خواهد که فایل موردنظر برای ذخیره کلیدها و رمز عبور کلید خصوصی را تعیین کنید.

    اگر مسیر خاصی را برای ذخیره کلید در نظر ندارید، بهتر است با همان حالت پیش فرض ( کلید عمومی در id_rsa.pub و کلید خصوصی در id_rsa مربوط به دایرکتوری ssh./~ موجود در دایرکتوری root) ادامه دهید و در خط دوم بدون وارد کردن چیزی، Enter را بزنید.
    کلیک کنید تفاوت سرور اختصاصی با سرور مجازی در چیست؟

    این کار باعث می شود که سیستم شما موقع احراز هویت، کلید های SSH را به طور خودکار پیدا کند. اگر قبلاً کلیدهای دیگری در این فایل ها ایجاد کرده اید، انتخاب همان فایل باعث Overwrite می شود که اگر مشکلی با این قضیه ندارید، Y را بزنید.

    overwrite شدن کلیدهای ssh

    بعد رمز عبور موردنظر را را وارد کنید و یک بار دیگر آن را تکرار کنید. این رمز عبور برای ایجاد یک لایه حفاظتی برای فایلی است که رمز عبور خصوصی در داخل آن قرار دارد. به این صورت که اگر هکر موفق شد وارد سیستم شما شود، نتواند به فایل دارای رمز های خصوصی دست پیدا کند.

    بعد وارد کردن یک رمز قوی، کار ساخت کلید SSH در لینوکس تمام می شود.

    ۲. کلید عمومی را در سرور ریموت آپلود کنید.

    راه های زیادی برای آپلود کردن رمز عبور عمومی در سرور ریموت وجود دارد که نتیجه همه آنها یکی است ولی اگر نمی خواهید برای این انجام این مرحله، مراحل اضافی تری را هم طی کنید، ساده ترین راه را انتخاب کنید یعنی از ssh-copy-id استفاده کنید.

    این ابزار در اکثر سیستم ها موجود است و تنها کاری که باید انجام دهید این است که با استفاده از نام کاربری حساب خود در سرور ریموت و آدرس IP خود سرور، دستور زیر را اجرا کنید:

    ssh-copy-id username@remote_server-IP

    البته، شاید به این فکر می کنید که در این دستور هیچ اشاره ای به مسیر کلید عمومی نشده است پس عمل کپی یا آپلود چگونه انجام می شود؟

    این ابزار سیستم را اسکن می کند و تا وقتی کلید عمومی (id_rsa.pub ) را پیدا نکرده است، رمز عبور حساب کاربری SSH را از شما نمی خواهد ولی اگر در این مورد نگران هستید می توانید مسیر کلید را به صورت زیر در دستور لحاظ کنید:

    ssh-copy-id -i $HOME/.ssh/id_rsa.pub username@remote_server-IP

    بعد این ابزار رمز عبور مربوط به حساب شما در سرور ریموت را درخواست می کند و اگر آن را به درستی وارد کنید، پروسه کپی کلید عمومی شروع می شود. در واقع، کلید عمومی موجود در سیستم شما در فایل authorized_keys موجود در دایرکتوری ssh./~ سرور کپی می شود.

    3. اتصال SSH را تست کنید.

    اگر مراحل تنظیم کلید SSH در لینوکس را با موفقیت طی کرده باشید، مطمئناً بدون رمز عبور هم می توانید وارد هاست یا سرور ریموت خود شوید و این راحتی و در عین حال، امنیت بالا را مدیون سازگاری کلید عمومی و خصوصی سیستم و سرور ریموت هستید.

    برای اتصال به سرور از طریق SSH دستور زیر را وارد کنید:

    ssh username@remote_server-IP

    البته، اگر در حین اجرای دستورات SSH یا ssh-copy-id با خطای زیر مواجه شدید، نیازی به نگرانی نیست چون نشانه این است که سیستم شما، سرور ریموت را نمی شناسد. پس تنها کاری که باید انجام دهید این است که Yes را تایپ کنید و Enter را بزنید تا اجرای دستور ادامه پیدا کند.

    The authenticity of host IP (IP…)’ can’t be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes

    همچنین، اگر در پروسه ایجاد کلید SSH در لینوکس برای کلید خصوصی خود رمز عبور (passphrase) مشخص کردید، موقع اتصال SSH این رمز عبور از شما درخواست می شود که باید آن را وارد کنید تا در سرور ریموت shell session جدیدی برای حساب کاربری شما ایجاد شود.
    نحوه حذف احراز هویت با رمز عبور در SSH

    با اجرای مراحل بالا، کار تنظیم کلید SSH در لینوکس تمام شده است ولی اگر امنیت پایین روش قدیمی یعنی احراز هویت با رمز عبور باعث نگرانی شما شده است و می ترسید که سرور یا هاست شما در معرض حملاتی مثل بروت-فورس قرار بگیرد، بهترین کار این است که این نوع احراز هویت را غیرفعال کنید تا از این به بعد احراز هویت شما از طریق کلید SSH انجام شود.

    برای این کار با استفاده از کلید SSH وارد حساب خود در سرور ریموت شوید و فایل پیکربندی SSH Daemon را باز کنید:

    sudo nano /etc/ssh/sshd_config

    عبارت PasswordAuthentication را جستجو کنید و اگر در حالت کامنت قرار داشت، # موجود در اول خط را حذف کنید تا از حالت کامنت در بیاید.

    بعد PasswordAuthentication را به PasswordAuthentication no تغییر دهید. بعد فایل را ذخیره کنید و ببندید. برای اینکه این تغییر اعمال شود باید سرویس را ری استارت کنید. پس دستور زیر را اجرا کنید:

    sudo systemctl restart ssh

    بعد از اجرای این دستورات، قابلیت احراز هویت با رمز عبور غیرفعال می شود. از این بعد برای اتصال به سرور ریموت از کلیدهای SSH استفاده می شود.

    کلام آخر

    امنیت در دنیای وب حرف اول را می زند و حملاتی مثل بروت فورس باعث شده است که نگرانی در مورد امنیت پایین احراز هویت با رمز عبور SSH چند برابر شود. اگر هکر با روش های مخصوص به خود بتواند به سرور مجازی یا هاست شما متصل شود، برنامه ها، داده ها و اطلاعات شما به خطر می افتند که تنظیم کلید SSH در لینوکس تا حد زیادی جلوی این ناامنیتی ها را می گیرد. فعال سازی این روش احراز هویت طی چند دستور کوتاه و ساده انجام می شود.

    سوالات متداول:
    کلید SSH برای اتصال به سرور ریموت مناسب است؟


    با اینکه روش های زیادی برای اتصال به سرور ریموت وجود دارد ولی در بین آنها، تنظیم کلید SSH در لینوکس امنیت بسیار بالایی دارد به شرط اینکه در نگهداری از کلید خصوصی خود حساس باشید.
    دانشگاه مهرالبرزاولین وتنهادانشگاه تخصصی درعلوم دانش بنیان وتوسعه تجارت الکترونیک درسراسرایران



  2. 2 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند.

    amir (08-11-2024), wbsite (08-16-2024)

  3. Top | #2

    عنوان کاربر
    راهبرانجمن
    فعالیت صنفی
    تبلیغات
    نوشته ها
    11
    تشکر
    23
    7 پست

    444 معرفی بهترین وب سرویس پیامکی

    با درود خدمت ادمین محترم
    درصورت امکان لطف کنید تعدادی از سرویس دهندگان پیامکی باسابقه و باپشتیبانی خوب را در ادامه پست اعلام فرمائید تا کاربران به راحتی و با اطمینان اگر خواستند سرویس پیامک انبوه یا وب سرویس خریداری کنند ممنونم

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
Powered By:Academy Mehr Alborz
Designer By✐Ecommerc.IR ©2024 - Forum WebMaster iran Par30Shop .ir