1. پیشنیازها
برای استفاده از SSH، نیاز به موارد زیر دارید:
- آدرس IP یا نام دامنه سرور لینوکس.
- نام کاربری که به سرور دسترسی دارد (معمولاً
root
یا یک کاربر عادی). - رمز عبور کاربر یا کلید SSH برای ورود امن.
2. نصب یک کلاینت SSH
برای اتصال به سرور از طریق SSH، به یک کلاینت SSH نیاز دارید. در بیشتر سیستمعاملها، ابزارهایی برای این کار به صورت پیشفرض نصب هستند. بهطور مثال:
در لینوکس و macOS:
لینوکس و macOS به طور پیشفرض شامل OpenSSH هستند، بنابراین نیازی به نصب نرمافزار اضافه ندارید.
در ویندوز:
برای ویندوز میتوانید از برنامه PuTTY یا OpenSSH استفاده کنید.
- PuTTY یک کلاینت محبوب SSH برای ویندوز است.
- OpenSSH از ویندوز 10 به بعد به صورت بومی موجود است. برای استفاده از OpenSSH در ویندوز، میتوانید از Command Prompt یا PowerShell استفاده کنید.
3. اتصال به سرور با SSH
پس از آمادهسازی کلاینت SSH، مراحل زیر را برای اتصال به سرور دنبال کنید.
3.1. اتصال با استفاده از رمز عبور
اگر سرور شما از رمز عبور برای ورود استفاده میکند، به شکل زیر از طریق ترمینال (در لینوکس و macOS) یا PuTTY (در ویندوز) متصل شوید:
در اینجا:
username
: نام کاربری شما در سرور.server_ip
: آدرس IP سرور یا نام دامنه سرور.
پس از وارد کردن این دستور، از شما خواسته میشود رمز عبور کاربر را وارد کنید. پس از وارد کردن رمز، وارد سرور میشوید و میتوانید از طریق خط فرمان با سرور کار کنید.
3.2. اتصال با استفاده از کلید SSH
اتصال با کلید SSH امنتر از استفاده از رمز عبور است. برای این کار ابتدا باید یک جفت کلید عمومی و خصوصی تولید کنید و کلید عمومی را روی سرور قرار دهید.
1. تولید کلید SSH (در سیستم محلی):
برای ایجاد کلید SSH در ترمینال (macOS و لینوکس)، از دستور زیر استفاده کنید:
این کار باعث میشود کلید عمومی شما در فایل ~/.ssh/authorized_keys
در سرور قرار گیرد. پس از انجام این کار، میتوانید بدون وارد کردن رمز عبور به سرور متصل شوید.
3. اتصال به سرور با کلید SSH:
اکنون که کلید عمومی شما در سرور موجود است، میتوانید بدون نیاز به وارد کردن رمز عبور، با استفاده از کلید خصوصی به سرور متصل شوید:
4. مدیریت پورت SSH
بهطور پیشفرض، SSH از پورت 22 استفاده میکند. اما به دلایل امنیتی، برخی مدیران سیستم پورت SSH را تغییر میدهند. اگر پورت پیشفرض SSH در سرور شما تغییر کرده باشد، باید با استفاده از پارامتر -p
پورت درست را مشخص کنید:
در اینجا، port_number
شماره پورتی است که سرور شما برای SSH استفاده میکند.
5. بررسی و رفع خطاهای احتمالی
اگر با مشکلاتی در اتصال مواجه شدید، میتوانید موارد زیر را بررسی کنید:
-
فعال بودن سرویس SSH در سرور: اطمینان حاصل کنید که سرویس SSH در سرور فعال است. میتوانید از دستور زیر برای بررسی وضعیت سرویس SSH استفاده کنید:
در دسترس بودن پورت SSH: ممکن است فایروال سرور پورت 22 یا پورت اختصاصی SSH شما را مسدود کرده باشد. برای بررسی و باز کردن پورتها، از ابزارهای مدیریت فایروال مانند UFW استفاده کنید:
یا برای پورتی دیگر:
-
آیپی سرور و شبکه: اگر سرور شما پشت یک روتر یا فایروال قرار دارد، مطمئن شوید که پورت SSH به درستی فوروارد (Forward) شده است.
6. دستورات مفید SSH
SSH قابلیتهای زیادی دارد که میتواند کار با سرورهای ریموت را سادهتر کند:
6.1. اجرای یک دستور خاص روی سرور:
با استفاده از SSH، میتوانید مستقیماً یک دستور خاص روی سرور اجرا کنید:
بهطور مثال:
این دستور میزان استفاده از فضای دیسک را در سرور به شما نشان میدهد.
6.2. کپی کردن فایلها با استفاده از SCP:
با استفاده از SCP (Secure Copy Protocol)، میتوانید فایلها را بین سیستم خود و سرور انتقال دهید:
این دستور فایل file.txt
را از سیستم شما به مسیر /remote/directory
در سرور کپی میکند.
6.3. استفاده از Tunneling در SSH:
SSH از تونلگذاری برای انتقال امن دادهها استفاده میکند. به طور مثال، میتوانید با استفاده از SSH یک تونل امن برای مرور وب از طریق سرور لینوکس خود ایجاد کنید.
7. افزایش امنیت SSH
برای افزایش امنیت اتصال SSH خود، میتوانید اقدامات زیر را انجام دهید:
-
غیرفعال کردن ورود با رمز عبور: پس از تنظیم کلید SSH، میتوانید ورود با رمز عبور را غیرفعال کنید تا فقط با کلید SSH بتوان وارد سرور شد.
در فایل
/etc/ssh/sshd_config
، خط زیر را تغییر دهید:
تغییر پورت SSH: تغییر پورت پیشفرض 22 به یک پورت دیگر میتواند امنیت سرور شما را در برابر حملات brute-force افزایش دهد.
در فایل /etc/ssh/sshd_config
، پورت SSH را تغییر دهید:
-
فعال کردن احراز هویت دو مرحلهای (2FA): با استفاده از ابزارهایی مانند Google Authenticator میتوانید احراز هویت دو مرحلهای را برای SSH فعال کنید.
نتیجهگیری
SSH یکی از قدرتمندترین ابزارها برای مدیریت سرورهای لینوکس از راه دور است. با استفاده از این پروتکل، میتوانید به سادگی و با امنیت بالا به سرور خود متصل شوید، دستورات لازم را اجرا کنید و فایلها را مدیریت کنید. با استفاده از کلیدهای SSH و تکنیکهای امنیتی اضافی، میتوانید امنیت اتصالهای خود را بهبود ببخشید و بهطور مؤثر سرورهای خود را از راه دور مدیریت کنید.