SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

ورود به SSH با استفاده از SSH Key

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • ورود به SSH با استفاده از SSH Key

    [align=right]با سلام.

    شاید شما هم از آن دسته مدیران سرورهایی باشید که از حملات Brute Force رنج می برند و یا در پی برقراری امنیت بیشتر برای سرویس SSH می باشند.

    در بسیاری از منابع گفته شده که برای برقراری امنیت SSH آن را به IP محدود کنید. اما آیا ایجاد این محدودیت کافی است ؟ فرض کنید شما در سفر هستید و با مشکلی در سرور مواجه شده اید. آنگاه چطور میخواهید مشکل را برطرف کنید در حالی که ورود به SSH  به یک آیپی یا رنج آیپی خاص محدود شده است ؟

    در این تاپیک برای شما روشی را توضیح خواهیم داد که میتوانید بدون این دردسرها، امنیت SSH سرور خود را بالا ببرید.

    همانطور که میدانید برای ورود به SSH، چندین راه وجود دارد :

    1- Password authentication
    2- Key authentication
     و روش های دیگر که ما با آن ها در این مبحث کاری نداریم.

    ما میخواهیم password authentication را غیر فعال کرده و key authentication را فعال کنیم که دارای امنیت نسبتاً بهتری نسبت به روش دیگر می باشد.

    در روش key authentication، دو موضوع قابل بررسی است : public key - private key

    زمانی که شما قصد استفاده از این روش را دارید، ابتدا باید با استفاده از دستور ssh-keygen در سرور خود، فایل public key را ایجاد کنید. این فایل

    فایل های ایجاد شده در مسیر زیر دخیره می شوند :
    کد:
    .ssh/authorized_keys
    زمانی که شما قصد ورود به SSH را دارید، سرویس SSH از public key استفاده می کند تا درخواست ها را در حالت قفل شده نگه دارد و این قفل تنها با کلید آن یعنی private key باز خواهد شد.

    این مسئله باعث می شود تا هکرهایی که از بزرگترین لیست های پسورد هم استفاده می کنند توانایی دستیابی به پسورد شما را نداشته باشند. زیرا شما از یک " پسورد " استفاده نمی کنید ! همچنین با فعال سازی قابلیت passphrase می توانید لایه دوم هم برای ورود به ssh server را ایجاد کنید و آن لایه دوم، وارد کردن یک پسورد خواهد بود ! اما تا زمانی که شخصی از مرحله اول عبور نکند، توانایی دست یابی به مرجله دوم را نخواهد داشت.

    مراحل فعال سازی key authentication در SSH

    تا به اینجا ما توضیحاتی در رابطه با این روش ارائه نمودیم و ثابت کردیم که این روش از روش password authentication به مراتب امن تر است !

    حال میخواهیم شما را با فعال سازی آن در سرور آشنا نمائیم.

    ابتدا دایرکتوری ssh. را در root سرور ایجاد نمائید و سپس برای آن دسترسی 700 را اعمال نمائید.

    به ترتیب با دستورات زیر :
    کد:
    mkdir ~/.ssh
    
    chmod 700 ~/.ssh
    حال، دستور زیر را برای ایجاد key های گفته شده در بالا اجرا کنید :
    کد:
    ssh-keygen
    [/align][align=right]
    خروجی به شکل زیر خواهد بود :[/align][align=center]

    [/align][align=right]
    همانطور که مشاهده می کنید در ابتدا مسیر دخیره سازی key را از شما می پرسد که به صورت پیشفرض همان ssh. می باشد که برای رد شدن از آن enter را وارد می کنید و سپس passphrase مورد نظر را درخواست می کند. چنانچه نیاز به passphrase ندارید میتوانید از این مرحله نیز بدون وارد کردن هیچ عبارتی عبور کنید.

    حالا شما key ها را ایجاد نمودید. حالا میتوانید با ویرایش فایل /etc/ssh/sshd_config ، password auth را غیر فعال نموده

    برای فعال سازی key authentication ، علامت # را از خط های زیر برداشته :
    کد:
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    #AuthorizedKeysFile .ssh/authorized_keys
    و سپس قبل از خط زیر، علامت # بگذارید :
    کد:
    PasswordAuthentication yes
    سپس خط زیر را پیدا نموده و مقدار آن را به no تغییر دهید :
    کد:
    UsePAM yes
    UsePAM قابلیت این را به شما خواهد داد که از هر دو روش password auth و  key auth برای ورود به ssh استفاده کنید. اما با این کار شما قادر به استفاده از key ها نخواهید بود. به عبارت دیگر، password authentication در اولویت قرار خواهد داشت.

    ورود با استفاده از ssh key

    تا به این مرحله شما را با ایجاد ssh keys آشنا نمودیم. حال نوبت آن است که ورود از طریق این key ها را نیز شرح دهیم.

    نرم افزار مورد نظر ما برای ورود به سرور در این آموزش، putty می باشد زیرا دارای طرفداران زیادی است.

    در ابتدا شما باید محتویات فایل زیر را کپی کرده و با فرمت ppk در سیستم خود ذخیره نمائید :
    کد:
    ~/.ssh/id_rsa
    توجه داشته باشید که روش مورد نظر ما در این آموزش، استفاده از RSA Key می باشد.
    بنابراین توجه داشته باشید که در خط آخر، عبارت زیر وجود داشته باشد :
    کد:
    -----END RSA PRIVATE KEY-----
    حال برنامه puttygen را از لینک زیر دریافت کنید :
    کد:
    http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
    برنامه را باز کرده و از قسمت Load، فایل private key که محتویات آن را کپی و با فرمت ppk ذخیره کرده بودید بارگزاری کنید.

    چنانچه شما برای فایل private key خود passphrase تعریف کرده باشید، هم اکنون از شما خواسته می شود که باید آن را وارد کنید.[align=center]

    [/align][/align][align=right]
    و چنانچه passphrase نداشته باشید از شما خواسته می شود تا بر روی گزینه save private key کلیک کنید تا کلید مورد نظر به شکل قابل قبول برای ورود به سرور با استفاده از نرم افزار putty تبدیل شود.[/align][align=center]
    [/align][align=right]

    هم اکنون فایل را با فرمت ppk ذخیره نمائید.

    برنامه puuty را باز کرده و در قسمت session، در قسمت host name  آیپی سرور خود را وارد نموده و در قسمت port نیز پورت ssh را وارد نمائید. سپس یک نام دلخواه برای آن در نظر گرفته و در کادر Saved sessions وارد نمائید اما در این مرحله آن را save نکنید.[/align][align=center]

    [/align] [align=right]
    به قسمت Data از مجموعه ی Connection مراجعه نموده و در قسمت Auto-login username ، root را وارد کنید. ( یا اکانتی که دسترسی root داشته و  مجوز ورود به ssh را داشته باشد.[/align][align=center]
    [/align] [align=right]
    حال به قسمت Auth از مجموع SSH مراجعه نموده و در قسمت Private key file for authentication ، فایل خروجی برنامه puttygen را بازگذاری نمائید.
    [/align][align=center]
    [/align] [align=right]
    حال به قسمت session باز گشته و بر روی save کلیک کنید. سپس[/align][align=center]

    [/align] [align=right]
    سپس بر روی نام connection مورد نظر کلیک کرده و open را بزنید تا وارد سرور شوید. در صورتی که passphrase را فعال کرده باشید، قبل از ورود از شما خواته می شود که باید آن را وارد کنید.

    موفق و پیروز باشید[/align]
     
    [align=center]مشاجره، نادانی انسان را آشکار می کند و چیزی به مطلب حق او نمی افزاید. امام علی (ع)

    همانا ارزشمند ترين بی نيازی عقل، بزرگ ترين فقر بی خردی، ترسناك ترين تنهايی خود پسندی و گرامی ترين ارزش خانوادگی، اخلاق نيكوست. امام علی (ع)[/align]
     
صبر کنید ..
X