لینوکس

چگونه از SSH برای اتصال از راه دور به یک سرور Ubuntu استفاده کنیم؟

SSH چیست؟

SSH یکی از ابزارهای ضروری برای مدیریت  سیستم است.

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

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

ssh

 دستورات اصلی SSH:

SSH یک ابزار بی نظیر برای اتصال به سیستم از راه دور است.

اصلی ترین فرمان دستور زیر است:

در این دستور  remote_host آدرس IP یا نام دامنه ای است که می خواهید به آن متصل شوید.

این دستور فرض می کند که نام کاربری شما در سیستم از راه دور همان نام کاربری شما در سیستم محلی است.

اگر نام کاربری شما در سیستم از راه دور متفاوت است، دستور زیر را بکار ببرید:

 

 پس از اتصال به سرور ، ممکن است از شما خواسته شود که هویت خود را با رمز عبور تایید کنید.

در ادامه نحوه استفاده از کلیدها را به جای رمز عبور میبینیم.

برای بازگشت به مکان قبل دستور زیر را اجرا کنید:

 

SSH چگونه کار می کند؟

SSH با اتصال برنامه سرویس گیرنده به سرور SSH کار می کند.

در دستور بالا، SSH یک برنامه سرویس گیرنده است. ssh server یک برنامه در حال اجرا در  remote_host است که قبلا مشخص کردیم.

در Droplet شما، سرور SSH باید در حال اجرا باشد. در صورتی  که در حال اجرا نیست ، روی دکمه Console Access در صفحه Droplet کلیک کنید:

console access

 صفحه ورود به سیستم رو به رو خواهید شد. با اعتبار خود وارد شوید.

فرآیند شروع به کار سرور SSH بستگی به نسخه لینوکس مورد استفاده شما دارد.

در Ubuntu ،  بر روی Droplet با نوشتن دستور زیر  ssh server شروع به کار می کند:

systemctl و systemd :

دستورهای systemctl و systemd برای مدیریت سرویس ها ، در  Ubuntu 16.04 و  Debian Jessie استفاده می شود:

 

با این دستور  SSHD Server شروع بکار می کند و می توانید از راه دور وارد سیستم شوید.

چگونگی پیکربندی SSH:

زمانی که پیکربندی SSH را تغییر می دهید، تنظیمات sshd server را نیز تغییر می دهید.

در Ubuntu ، فایل پیکربندی اصلی sshd در etc/ssh/sshd_config/ قرار داده شده است.

قبل از ویرایش، از ورژن فعلی این فایل Back up بگیرید:

با یک ویرایشگر متن باز کنید:

 

بررسی برخی گزینه های sshd_config:

 

با وارد کردن پورت ، اعلام می کنیم که با کدام پورت به sshd server برای اتصال برقرار می کنیم. پورت پیش فرض، ۲۲ است. می توانید تنظیمات را به طور پیش فرض قرار دهید، و یا آن را تغییر داد.

نحوه اتصال به پورت جدید را در صورتی که آن را تغییر دهید، بعدا آموزش می دهیم.

 

کلیدهای میزبان مشخص می کنند که کجا باید کلیدهای میزبانی جهانی را جستجو کنیم.

 

این دو مورد نشان دهنده سطح ورود به سیستم است که باید رخ دهند.

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

 

این پارامترها بعضی از اطلاعات ورود را مشخص می کنند.

پارامترهای ورود اطلاعات:

LoginGraceTime مشخص می کند که چند ثانیه  بدون ورود به سیستم موفق به برقراری اتصال شدید.

تنظیم اینکه زمان ورود کمی بالاتر از حد معمول باشد می تواند ایده خوبی باشد.

PermitRootLogin قسمت هایی را که اجازه ورود دارند را مشخص می کند.

در بسیاری از موارد ،هنگامی  که حساب کاربری با امتیازات بالایی را ایجاد می کنید باید آن را به “no” تغییر دهید.(through su or sudo) و وارد ssh  شوید.

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

این باعث می شود که فایل های پیکربندی ایمن نباشند.

 

X11Forwarding پارامترهایی هستند که توانایی پیکربندی را مشخص می کنند. به شما اجازه می دهد که رابط کاربر گرافیکی  (GUI) سیستم از راه دور را در سیستم های محلی مشاهده کنید.

این گزینه باید در سرور فعال شود و به سرویس گیرنده SSH  در طول مدت اتصال با گزینه X_ داده شود.

بعد از اعمال تغییرات، فایل را با تایپ کردن CTRL-X و Y  زدن enter ذخیره و سپس ببندید.

اگر هر تغییری در تنظیمات etc/ssh/sshd_config/ وارد کردید، sshd server خود را برای اعمال تغییرات دوباره بارگذاری کنید.

 

یا در سیستم های systemd همانند Ubuntu 16.04 و Debian Jessie دستور وارد کنید:

 

تغییرات را  تست کنید تا مطمئن شوید تغییرات را به طریقی که انتظار داشته اید اعمال کرده اید.

ایجاد چند بخش فعال در زمانی که تغییرات را اعمال می کنید ایده خوبی می تواند باشد و به شما امکان می دهد که در صورت لزوم پیکربندی را بازگردانید.

به یاد داشته باشید که در صورتی که به مشکلی برخوردید، می توانید از لینک Console در صفحه Droplet خود وارد شوید.

چگونه با کلیدها وارد SSH شوید؟

همانطور که استفاده از رمز عبور برای وارد شدن به سیستم های از راه دور مفید است ؛ بهتر است که کلیدهای را برای احراز هویت نیز تنظیم کنید.

کلیدهای احراز هویت چگونه کار می کنند؟

کلیدهای احراز هویت با دو نوع کلید ایجاد شده اند: private key و public key

private key در سمت گیرنده قرار دارد و به طور امن و مخفی نگه می دارند.

public key  به هرشخصی یا در هر مکان که سرور شما  قرار دارد اجازه دسترسی می دهند.

در صورتی که به هریک از کلیدها دسترسی دارید دارید،سرور با استفاده از public key یک پیام را برای سرویس گیرنده می فرستد، که فقط با private key قابل خواندن است.

سرویس گیرنده یک پاسخ مناسبی را برای سرور ارسال می کند که سرور آن را مجاز بداند.

بعد از اینکه کلیدها راتنظیم کردید پروسه ها به صورت خودکار  وارد می شود.

چگونه کلیدهای SSH را ایجاد کنیم؟

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

دستور زیر را وارد کنید:

 

برای قبول دستورات پیش فرض enter را بزنید. کلیدهای شما در مسیر ssh/id_rsa.pub./~ و .ssh/id_rsa./~ ایجاد می شود.

دایرکتوری را با دستور زیر تغییر دهید:

به مجوز های داده شده در فایل نگاهی بیندازید:

 

خروجی به این صورت است:

 

همانگونه که می بینید فایل  id_rsa فقط توسط مدیر قابل خواندن و نوشتن است. و نشان می دهد که چگونه مخفی نگه داشته می شود.

با این وجود فایل id_rsa.pub می تواند مجوزهای لازم برای فعالیت را بدهد.

چگونه Public Key هایمان را به سرور انتقال دهیم؟

با استفاده از دستور زیر public key را می توان به سرور از راه دور انتقال داد:

 

SSH زمانی شروع به کار میکند که با رمز عبور هویت خودتان را تایید کنید.

پس از وارد کردن رمز عبور،  public key را به سرور انتقال می دهد و باعث می شود دفعات بعدی بدون وارد کردن رمز عبور وارد شوید.

گزینه های سمت گیرنده

گزینه های اختیاری  وجود دارد که در هنگام اتصال به SSH می توان آنها را انتخاب کرد.

بعضی از این موارد برای تنظیم پیکربندی sshd میزبان از راه دور مطابقت داشته باشد.

برای مثال، اگر در تنظیمات SSH شماره پورت را تغییر دهید،باید با سمت سرویس گیرنده شماره پورت را مطابقت دهید.

اگر فقط یک دستور را وارد کنید،بعد از آن می توانید میزبان را مشخص کنید:

 

به دستگاه متصل می شوید ، هویت را وارد کنید و دستور را اجرا کنید:

همانطور که قبلا گفته شد ، اگر X11 forwarding در هر دو کامپیوتر فعال باشد، با دستور زیر به این قابلیت دسترسی پیدا می کنید:

 

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

 غیرفعال کردن اعتبار رمز عبور

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

نکته: قبل از ادامه این مرحله، مطمئن شوید که public key را به سرور خود نصب کرده اید، در غیر اینصورت غیر فعال خواهید شد.

در root یا یک کاربر غیر root با مجوز sudo فایل پیکربندی sshd را باز کنید.

مقدار PasswordAuthentication را به no تغییر دهید.

 

PubkeyAuthentication و ChallengeResponseAuthentication دو تنظیمات دیگری هستند که دیگر نیازی به اصلاح ندارند. ( در صورتی که آن را از قبل اصلاح نکرده باشید). به صورت پیش فرض تنظیم شده اند و با دستور زیر می توان آن را خواند:

 

و بعد از اعمال تغییرات فایل را ذخیره و ببندید.

اکنون می توانید نسخه آزمایشی SSH  را بارگذاری کنید:

 

رمز عبور باید غیرفعال شود و سرور باید از طریق SSH قابل رویت باشد.

نتیجه گیری:

در صورتی که چند کار را انجام می دهید ، یادگیری SSH می تواند مفید باشد.

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

با ما همراه باشید.

پست های مرتبط:

مراحل بوت لینوکس به زبان ساده

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن