Linux Secure Shell یا لینوکس SSH، پروتکلی است که توسط رایانه های لینوکس برای دستیابی به رایانه های راه دور و اجرای ایمن دستورات، استفاده می شود. این پروتکل یک جایگزین برای rlogin و rsh است. بنابراین، SSH ارتباطات رمزگذاری شده و ایمن را بین میزبان های غیر قابل اعتماد از طریق یک شبکه ی ناامن یا نامعتبر فراهم می کند. این پروتکل که با نام Secure Socket Shell نیز شناخته می شود، یک برنامه امنیتی برای کاربران لینوکس است که به سرورهای راه دور متصل می شود. این چارچوب به کاربران اجازه می دهد فایل ها را انتقال دهند، خطوط فرمان و برنامه های گرافیکی را اجرا کنند و شبکه های مجازی امن را از طریق اینترنت ایجاد کنند. همچنین، دارای یک فرمان SSH برای ایمن سازی اتصالات از راه دور و انتقال داده بین کلاینت ها و هاست است.
ابزار رمزگزاری مورد نظر تمام ارتباطات را تضمین می کند. این دستور با انتقال ورودی های کلاینت به میزبان کار می کند. پس از انجام، دستور خروجی را از هاست به کلاینت برمی گرداند و اغلب از طریق پورت IP/TCP 22 اجرا می شود. این اتصال رمزگزاری شده همچنین در حمل و نقل پورت، سرور لینوکس، تونل سازی و بسیاری از موارد دیگر استفاده می شود.
بررسی اجزای دستور SSH در لینوکس
مانند هر دستور محاسباتی دیگری، دستور SSH دارای syntax است، syntax این دستور به صورت زیر است:
ssh user _name@host (IP/Domain_name)
همانطور که در دستور نشان داده شده است، موارد زیر اجزای کاما SSH را می سازند.
- دستور SSH- این فرمان دستورالعمل هایی را برای ماشین ها ارائه می دهد تا اتصالات رمزگذاری شده ایمن را به وسیله شبکه یا سیستم میزبان ایجاد کند.
- نام کاربری- نام کلاینت یا کاربری لینوکس است که دستگاه یا سیستم میزبان شما به آن دسترسی دارد.
- میزبان- دستگاهی است که کاربر به آن دسترسی پیدا کرده و با نام دامنه یا آدرس IP ارتباط برقرار می کند. در نتیجه، به بهترین شکل هاست ها می توانند روتر یا رایانه باشند.
خلاصه دستورهای SSH و flag ها
تصویر زیر خلاصه دستور SSH را نشان می دهد:
تگ های دستور SSH به شرح زیر است:
در این قسمت خلاصه ای از دستورات SSH را بررسی می کنیم:
1-: SSH را مجبور می کند فقط پروتکل نسخه 1 را امتحان کند.
2-: SSH را مجبور می کند فقط پروتکل نسخه 2 را امتحان کند.
4-: باعث می شود SSH فقط از آدرس های IPV4 استفاده کند.
6-: SSH را مجبور می کند فقط از آدرس های IPV6 استفاده کند.
A-: ارسال اتصال عامل احراز هویت را آغاز می کند. معمولا، می توانید این flag را براساس هر میزبان مشخص کنید. قابل ذکر است که شما باید با احتیاط فراوان، ارسال احراز هویت عامل را فعال کنید. کسانی که اختیار دور زدن مجوز های فایل در هاست های راه دور را دارند، اغلب می توانند از طریق یک اتصال فوروارد شده به عامل محلی دسترسی داشته باشند. در حالی که مهاجمان ممکن است به موارد کلیدی عوامل دسترسی نداشته باشند، می توانند از کلیدها برای انجام عملیات و احراز هویت، با استفاده از هویت های موجود در عامل، استفاده کنند.
a-: ارسال ارتباط عامل احراز هویت را غیر فعال می کند.
bind_address / -b: می توانید از bind_address در ماشین های محلی به عنوان آدرس منبع اتصال استفاده کنید. این flag فقط برای سیستم هایی با چندین دستگاه مفید است.
C-: این تگ برای درخواست فشرده سازی تمام داده ها استفاده می شود. از همان الگوریتم مورد استفاده توسط gzip برای فشرده سازی داده ها از جمله stdin، stdout و stdeer استفاده می کند.
cipher_ spac / -c: این تگ مشخصات رمز را برای استفاده در جلسه رمزگذاری انتخاب می کند. پروتکل نسخه 1 فقط مشخصات یک رمز را مجاز می کند، اما در پروتکل نسخه 2، یک کاما، فهرستی از رمز هایی را که بیشتر ترجیح داده می شوند را جدا می کند.
D –Xo-: این تگ “sm on و sm off” اجزا را کنترل کرده و ارسال پورت در سطح برنامه را مشخص می کند. نکته قابل توجه، سوکتی است که به پورت سیستم محلی شما گوش می دهد. هر ارتباط از طریق این پورت، روی کانال امن سیستم ارسال می شود.
escape_char / -e: این تگ به تنظیم کاراکترهای فرار برای جلسات pty کمک می کند.
configfile /-F: این مورد فایل پیکربندی را برای هر کاربر مشخص می کند.
f- : این flag درخواستی را برای بازگشت SSH به پس زمینه قبل از اجرای دستور بوجود می آورد. زمانی که کاربر بخواهد درخواست های رمز عبور در پس زمینه ایجاد شود، این کار مفید خواهد بود.
g- : ارتباطی بین میزبان های راه دور و پورت های فوروارد شده محلی برقرار می کند.
identity_file / -i: این flag سیستم فایلی را انتخاب می کند که دستگاه شما از آن برای خواندن احراز هویت DSA یا RSA استفاده می کند.
k- : این flag واگذاری یا دوباره ارسال کردن اعتبارنامه ها و هویت های GSSAPI به سرور را غیر فعال می کند.
L -Xo- : این تگ “sm on و sm off” را روی مؤلفهها با مشخص کردن اینکه پورت ارائه شده در سرویس گیرنده / میزبان محلی باید به پورت و میزبان شما در دستگاه راه دور ارسال شود، کنترل میکند.
l- login_name : این flag کاربر را هدایت می کند تا از راه دور وارد سیستم شود.
M- : برای فعال کردن اشتراک گذاری اتصال، کلاینت را در حالت اصلی قرار می دهد. می توانند چندین گزینه M- برای قرار دادن یک کلاینت SSH در حالت اصلی وجود داشته باشد و قبل از این که سیستم اتصالات slave را بپذیرد به تایید نیاز دارد.
m-mac_spec: این یک flag اضافی برای پروتکل نسخه 2 است. فهرستی از الگوریتم های کد احراز هویت پیام (MAC) جدا شده با کاما را ارائه می دهد.
N- : این flag به کاربران دستور می دهد تا دستورات از راه دور را انجام ندهند.
n- : داده stdin را از /dev\null تغییر مسیر داده و از خواندن آن جلوگیری می کند. فقط زمانی قابل اجرا است که SSH در پس زمینه اجرا شود.
ctl_cmd / -O : این flag یک اتصال فعال را از طریق مولتی پلکس کردن فرآیند اصلی، کنترل می کند.
option -o : این flag اغلب برای ارائه گزینه هایی با فرمت دقیق در فایل پیکربندی شما استفاده می شود.
نتیجه گیری
مقاله فوق، مقدمه ای برای SSH است. همان طور که توضیح داده شد SSH یا Linux Secure Shell نقش مهمی در دستیابی به رایانه های راه دور و اجرای ایمن دستورات دارد. در مطالب فوق، ما دستور SSH را در کنار flag های مربوطه توضیح دادیم. امیدواریم بتوانید از اطلاعات بالا برای شروع تعامل خود با پروتکل SSH استفاده کنید. می توانید سوالات خود را از بخش نظرات با ما در میان بگذارید.