- موضوع نویسنده
- #1
مقدمه
در دنیای مدیریت سرورهای لینوکسی، استفاده از SSH (Secure Shell) به عنوان پروتکل استاندارد برقراری ارتباط امن، انتقال دادهها و اجرای دستورات از راه دور مطرح است. یک مدیر سرور یا وبمستر حرفهای باید تسلط کافی بر کار با SSH داشته باشد تا بتواند به راحتی و با امنیت بالا روی سرور خود کنترل داشته باشد. در این مقاله قصد داریم به صورت جامع روشهای استفاده از SSH، اصول امنیتی آن، دستورات پایه و نکات کلیدی برای مدیریت بهتر سرورهای لینوکسی را شرح دهیم.
SSH چیست و چرا اهمیت دارد؟
SSH که مخفف Secure Shell است، پروتکلی امن و رمزنگاری شده برای برقراری اتصال بین دو سیستم است که معمولاً یک کلاینت و یک سرور را به هم متصل میکند. اصلیترین کاربرد SSH در دنیای لینوکس، اجرای دستورات از راه دور، انتقال ایمن فایل، مدیریت سرویسها و حتی تونلینگ (Tunneling) است.
- امنیت بالاتر نسبت به پروتکلهای قدیمیتر مانند Telnet و FTP
- امکان مدیریت کامل سیستم از هر نقطه دنیا
- قابلیت انجام کارهای ریموت بدون نیاز به حضور فیزیکی
پیشنیازها و شرایط اتصال به سرور لینوکسی با SSH
برای اتصال به سرور لینوکسی از طریق SSH باید موارد زیر را داشته باشید:
- آیپی یا نام دامنه سرور
- یوزرنیم (معمولاً
root
یا یوزر محدود) - پسورد یا کلید خصوصی SSH
- پورت SSH (پیشفرض 22، اما ممکن است برای امنیت تغییر داده شده باشد)
- نرمافزاری برای برقراری ارتباط مانند
Putty
در ویندوز یاTerminal
در لینوکس و مک
آموزش اتصال به سرور لینوکسی با SSH
۱. اتصال با دستور ssh در سیستمعامل لینوکس و مک
برای اتصال پایهای از دستور زیر استفاده کنید:
Bash:
ssh username@server_ip
192.168.1.100
و یوزرنیم root
باشد، دستور اینگونه خواهد بود:
Bash:
ssh root@192.168.1.100
Bash:
ssh username@server_ip -p PORT
۲. اتصال با Putty در ویندوز
- برنامه
Putty
را نصب و اجرا کنید. - در قسمت Host Name، آیپی یا دامنه سرور را وارد کنید.
- پورت SSH (پیشفرض 22) را وارد نمایید.
- نوع اتصال را
SSH
انتخاب کنید و روی Open کلیک نمایید. - در صورت اتصال موفق، نام کاربری و رمز عبور درخواست میشود.
۳. اتصال با کلید خصوصی (Private Key)
بجای پسورد میتوانید برای امنیت بیشتر از کلید خصوصی SSH استفاده نمایید.
Bash:
ssh -i /path/to/privatekey username@server_ip
دستورات اولیه و مهم مدیریت سرور با SSH
پس از ورود موفق، دستورات زیر برای مدیریت پایه سرور لینوکس بسیار کاربردی هستند:
دستور | کاربرد |
ls | نمایش لیست فایلها و پوشهها |
cd | جابجایی بین پوشهها |
cp | کپی کردن فایل یا فولدر |
mv | انتقال یا تغییر نام فایل و فولدر |
rm | حذف فایل یا فولدر |
nano یا vi | ویرایش فایلهای متنی |
systemctl restart service | راهاندازی مجدد سرویس مورد نظر |
top یا htop | نمایش میزان استفاده منابع (پردازنده، رم و ...) |
نحوه انتقال فایل به سرور لینوکس با SSH
برای انتقال فایل بین کامپیوتر و سرور لینوکسی میتوانید از دستور
scp
استفاده کنید.نحوه ارسال یک فایل از کامپیوتر به سرور:
Bash:
scp /path/to/localfile username@server_ip:/path/to/target
Bash:
scp username@server_ip:/path/to/file /path/to/localtarget
افزایش امنیت اتصال SSH
داشتن یک اتصال امن نیازمند رعایت چند نکته ساده اما مهم است:
- تغییر پورت پیشفرض SSH (پیشفرض 22) برای جلوگیری از حملات brute-force
- فعالسازی ورود با کلید خصوصی و غیرفعال کردن ورود با پسورد
- استفاده از
fail2ban
برای جلوگیری از حملات تکرار رمز عبور - محدودکردن دسترسی روت مستقیم و استفاده از یوزر معمولی با قابلیت sudo
- تهیه نسخه پشتیبان از کلید خصوصی در محل امن
مشکلات رایج هنگام کار با SSH و روشهای رفع آن
خطا: Permission denied (publickey,password)
این خطا به دلیل اشتباه بودن پسورد، کلید خصوصی یا مجاز نبودن یوزر بروز میکند. مسیر کلید و مجوزهای آن را بررسی کنید.
Timeout یا اتصال برقرار نمیشود
- بررسی فعال بودن سرویس SSH روی سرور با دستور
systemctl status sshd
- مطمئن شوید پورت مناسب در فایروال باز است.
- آنتیویروس یا فایروال شبکه را بررسی کنید.
جمعبندی
مدیریت سرورهای لینوکس از راه دور با بهرهگیری از SSH از ملزومات هر وبمستر و مدیر سرور حرفهای است که امنیت، سرعت عمل و استقلال بیشتری در مدیریت زیرساخت ارائه میدهد. لازم است حتماً با نحوه کار، ابزارهای امنیتی و دستورات رایج آن آشنا باشید و نکات ایمنی را رعایت کنید. اگر به اطلاعات بیشتری نیاز دارید یا سوالی در زمینه SSH و مدیریت سرور داشتید، میتوانید در انجمن تخصصی احمدرضا کریمی (لینک: انجمن تخصصی وبمستران) سؤال خود را مطرح نمایید.