آموزش اتصال به SSH لینوکس در سیستمعاملهای مختلف
- مقالات آموزشی
- بروزرسانی شده در
همانطور که اطلاع دارید چند وقتیه در بخش لینوکس برای وردپرس، سعی داریم آموزشهای لینوکس رو منتشر کنیم. شاید بپرسید لینوکس و SSH چه ربطی به وردپرس داره؟! نکته اینجاست که سایت ما و سایت شما روی سرورهای لینوکسیه و طبیعتاً همه شما نیاز دارید یه روز سایت پربازدید خودتون رو با سرور اختصاصی لینوکس مدیریت و میزبانی کنید؛ مگر اینکه بخواید اطلاعات رو دست کسی بسپارید یا هزینههای ماهانه چند میلیونی بابت مدیریت سرور بدید. یه وبمستر حرفهای باید زمانیکه با مشکل مواجه شد، بتونه تا حدی با پنلهای هاست و سرور و… کار کنه. در ادامه این مقاله میهن وردپرس میخوایم مهمترین ویژگیها و روشهای اتصال به SSH لینوکس در سیستمعاملهای مختلف رو بررسی کنیم.
آنچه در این مقاله میخوانید
اتصال به SSH لینوکس
برای اتصال به SSH لینوکس، روشهای مختلفی در اختیار دارید. راستی یادم رفت بگم SSH اصلاً چی هست! خب SSH یا Secure Shell یه روش مدیریت سیستمعاملهای لینوکسی هست که بدون نیاز به رابط گرافیکی و فقط با دستورات یا Commandهای لینوکسی، به ما اجازه میده سیستمعامل لینوکس رو مدیریت کنیم. همانطور که گفتم بسته به سیستمعامل شما، روشهای مختلفی برای اتصال به SSH داریم؛ اما منطق و روش اتصال در همه سیستمعاملها به یه شکل هست.
اتصال به SSH در ویندوز
اگر از ویندوز استفاده میکنید باید نرمافزار PUTTY رو دانلود کنید. بعد از دانلود و نصب این نرمافزار، باید اون رو اجرا کنید و اطلاعات سرور رو در این نرمافزار وارد کنید.

در بخش Host Name باید آدرس آیپی یا هاستنیم سرور رو وارد کنید. این آیپی رو باید از مدیر سرور بگیرید؛ فرقی هم نمیکنه سرور مجازی دارید یا اختصاصی، فقط کافیه لینوکس روی این سرور نصب باشه. مثلاً اگر پورت سرور ما این هست: 192.168.1.25، پس همین آیپی رو وارد میکنیم. حالا پورت SSH رو وارد کنید که بهصورت پیشفرض ۲۲ است.
در بخش Host Name باید آدرس آیپی یا هاست نیم سرور رو وارد کنید. آیپی رو باید از مدیر سرور دریافت کنید. فرقی هم نمیکنه سرور مجازی دارید یا اختصاصی! فقط کافیه لینوکس روی این سرور نصب باشه.
در نهایت روی Open کلیک کنید تا وارد SSH بشید. بعد از وارد شدن، از شما رمز عبور سرور درخواست میشه که باید تایپش کنید. یه نکته کنکوری: موقع وارد کردن پسورد، هیچ رمزی به شما نشون داده نمیشه، پس نگران نباشید! چون یادمه اوایل کار با لینوکس در سال ۱۳۹۰ نزدیک به ۳ روز درگیر این بودم که چرا پسوورد تایپ نمیشه! 🙂
حالا شما وارد لینوکس شدید و کمی حس هکر بودن بهتون دست میده؛ البته خیلی توجهی به این حس نکنید چون خیلی هم هکر نشدیم، فقط لینوکسی شدیم!
اتصال به SSH در لینوکس و مک
برای اتصال به SSH در مک و لینوکس کافیه نرمافزار Terminal رو باز کنید. بعد دستور SSH رو در ترمینال وارد کنید؛ به این شکل:
ssh root@192.168.1.25 -p 22
به جای آیپی، طبیعیه که باید آیپی سرور خودتون رو وارد کنید و به جای ۲۲، پورت سرور رو تایپ کنید. حالا اینتر رو بزنید تا وارد فرآیند اتصال بشید.

طبیعتا باید رمز رو هم وارد کنید تا وارد SSH سرور مورد نظر شید.
اتصال به SSH در موبایل (آیفون و اندروید)
برای اتصال به SSH در آیفون و اندروید کافیه نرمافزار SSH مورد نظر خودتون رو پیدا کنید و آیپي سرور رو در نرمافزار وارد کنید. بعد از اتصال به سرور، رمز رو وارد میکنید و وارد محیط SSH میشید. البته پیشنهاد میکنم از سیستم برای اتصال به سرور استفاده کنید چون درصد خطا و اشتباه خیلی کمتر میشه. در جلسات بعدی با هم دستورات اولیه کار با SSH و مدیریت فایلهای سرور رو یاد میگیریم.
اولین اقدام پس از ورود: تغییر پورت پیشفرض ۲۲ برای افزایش امنیت سرور
وقتی برای اولین بار وارد سرور لینوکس میشید، پورت اتصال شما به صورت پیشفرض روی عدد ۲۲ تنظیم شده. نکته اینجاست که تمام رباتهای هکر دنیا هم این موضوع رو میدونن و مدام در حال تست کردن رمزهای مختلف روی این پورت هستن. برای اینکه خیالتون راحت بشه و جلوی این حملات رو بگیرید، اولین کار اینه که پورت پیشفرض رو به یک عدد دلخواه و چندرقمی (مثلاً ۵۷۸۲) تغییر بدید. اینطوری هکرها اصلاً نمیتونن درِ ورودی SSH سرور شما رو پیدا کنند، چه برسه به اینکه بخوان رمزش رو حدس بزنند!
راهکار حل مشکل قطعی اتصال در پوتی با فعالسازی قابلیت Keepalive
ااحتمالاً برای شما هم پیش میاد که وقتی با نرمافزار Putty به سرور وصل میشید و چند دقیقه دست به کیبورد نمیزنید، اتصال سرور قطع میشه و ارور نهایی ریموت مپینگ رو نشون میده. این اتفاق به خاطر اینه که سرور بعد از چند دقیقه بیتحرکی، برای صرفهجویی در مصرف منابع شما رو بیرون میاندازه.
برای حل این مشکل، قبل از اینکه روی دکمه Open کلیک کنید، از منوی سمت چپ پوتی به بخش Connection برید و عدد کادر Seconds between keepalives رو روی ۶۰ بذارید. با این ترفند، پوتی هر یک دقیقه یک سیگنال کوچک به سرور میفرسته تا اتصال شما همیشه زنده و برقرار بمونه.

احراز هویت بدون رمز عبور با استفاده از کلیدهای امنیتی SSH Key
تایپ کردن رمزهای طولانی و سخت هر دفعه که میخوایم به سرور وصل بشیم واقعاً رو اعصابه! علاوه بر اون، رمز عبور همیشه خطر لو رفتن داره. یک راهکار فوقالعاده حرفهای اینه که به جای پسورد، از SSH Key یا همان کلیدهای عمومی و خصوصی استفاده کنید.
با ابزاری مثل PuttyGen یک جفت کلید میسازید، کلید عمومی رو روی سرور لینوکس میذارید و کلید خصوصی رو روی سیستم خودتون نگه میدارید. از این به بعد، هروقت دکمه اتصال رو بزنید، سیستم بدون نیاز به وارد کردن حتی یک کلمه پسورد، شما رو مستقیماً و با بالاترین امنیت ممکن وارد محیط ترمینال میکنه.

روش استفاده از ابزار اسکرین برای جلوگیری از توقف دستورات در حال اجرا
تصور کنید در حال آپدیت کردن مخازن سرور یا بکآپ گرفتن از یک سایت سنگین چند گیگابایتی هستید و ناگهان اینترنت شما قطع میشه یا پنجره ترمینال بسته میشه. در این حالت تمام پروسه روی سرور نصفهکاره رها میشه و ممکنه کل سایتتون خراب بشه!
ابزار جادویی screen در لینوکس دقیقاً برای همین ساخته شده. با اجرای این دستور، یک محیط مجازی مستقل روی سرور ساخته میشه که حتی اگر اینترنت شما قطع بشه یا لپتاپ رو خاموش کنید، دستورات در پسزمینه سرور با خیال راحت به کارشون ادامه میدن تا کار تموم بشه.
عیبیابی خطای رایج Connection Refused هنگام اتصال به سرور
گاهی وقتها تمام اطلاعات آیپِی و پورت رو دقیق وارد میکنید، اما موقع اتصال با ارور اعصابخردکن Network error: Connection refused مواجه میشید. این خطا معمولاً دو تا دلیل اصلی داره: یا فایروال سرور (مثل CSF یا IPTables) آیپِی اینترنت شما رو به خاطر چند بار ورود اشتباه بلاک کرده، یا اینکه سرویس SSH روی سرور به کل از کار افتاده. در این شرایط باید از طریق پنل اصلی هاستینگ (مثل ویانسی یا تیکت پشتیبانی) وارد سرور بشید و وضعیت فایروال رو بررسی کنید تا آیپِی شما رو آزاد کنه.
آموزش خروج امن و اصولی از محیط ترمینال لینوکس
بسیاری از وبمسترهای تازهکار بعد از اینکه کارشون با کدهای لینوکس تموم میشه، مستقیم پنجره پوتی یا ترمینال مک رو با زدن دکمه ضربدر قرمز میبندن. این کار شاید در ظاهر مشکلی نداشته باشه، اما ممکنه بعضی از پروسههای یوزر شما روی سرور باز بمونه و رم سرور رو بیدلیل اشغال کنه. روش اصولی و استاندارد برای اتمام کار اینه که در انتهای خط فرمان، کلمه exit یا logout رو تایپ کنید و اینتر بزنید تا سرور به صورت کاملاً امن نشست شما رو ببنده و ارتباط رو قطع کنه.
جابهجایی مثل یک حرفهای در محیط SSH
وقتی برای اولین بار وارد محیط سیاه ترمینال میشید، ممکنه حس کنید در یک اتاق تاریک گیر کردید، اما با یادگیری چند دستور ساده لینوکس میتونید مثل آب خوردن در سرور جابهجا بشید. اولین فرمانهایی که باید یاد بگیرید، دستور pwd هست که بهتون نشون میده دقیقاً در کدوم پوشه از سرور ایستادهاید. بعد از اون نوبت به دستور ls میرسه که مثل باز کردن یک پوشه در ویندوز عمل میکنه و تمام فایلها و پوشههای موجود در مسیر فعلی رو بهتون نشون میده. برای اینکه بتونید وارد یک پوشه خاص بشید، کافیه از دستور cd به همراه نام اون پوشه استفاده کنید (مثلاً cd public_html) و اگر هم خواستید یک مرحله به عقب برگردید و به پوشه قبلی برید، دستور cd .. کار شما رو راه میاندازه. یادگیری همین چهار دستور ساده بهتون کمک میکنه که ترس اولیه کار با ترمینال بریزه و بتونید به راحتی در فایلهای هاست خودتون گشتوگذار کنید.
میانبرهای کیبورد در ترمینال که سرعت کارتون رو ۱۰ برابر میکنن
برای اینکه مجبور نباشید برای هر کاری کدهای طولانی تایپ کنید، میتونید از میانبرهای جادویی کیبورد در ترمینال استفاده کنید که کارایی شما رو چند برابر میکنن. در قدم اول اگر یک دستور سنگین رو اجرا کردید و وسط کار پشیمون شدید یا خواستید فوراً متوقفش کنید، کافیه کلیدهای ترکیبی Ctrl + C رو بزنید تا دستور در همان لحظه کِلوز بشه. در قدم بعدی اگر کدهای زیادی روی صفحه اومده و محیط کارتون شلوغ و سردرگمکننده شده، دکمههای Ctrl + L رو فشار بدید تا کل صفحه در یک ثانیه کاملاً پاک و مرتب بشه. در قدم سوم هم برای بالا رفتن سرعت تایپ، وقتی دارید نام یک پوشه طولانی رو مینویسید، فقط چند حرف اولش رو تایپ کنید و دکمه Tab روی کیبورد رو بزنید تا لینوکس خودش بقیه اسم فایل رو براتون کامل کنه و جلوی غلط املایی رو بگیره.
چطور فایلهای سنگین وردپرس رو مستقیماً با SSH دانلود و از فشردهسازی خارج کنیم؟
انتقال فایلهای حجیم از طریق آپلود معمولی کلی از وقت و اینترنت شما رو میگیره، اما با این روش میتونید فایلها رو مستقیماً از مبدأ روی سرور دانلود کنید. در قدم اول با دستور cd وارد پوشهای بشید که میخواید فایل اونجا ذخیره بشه؛ سپس در قدم دوم دستور wget رو بنویسید و یک فاصله (Space) بزنید و لینک دانلود فایل رو جلوی اون پیست کنید (مثلاً wget https://wordpress.org/latest.zip) و اینتر بزنید تا فایل با سرعت بالای سرور دانلود بشه. در قدم سوم برای باز کردن این فایل فشرده، اصلاً نیازی به کارهای پیچیده ندارید و فقط کافیه دستور unzip latest.zip رو تایپ کنید و اینتر بزنید تا تمام فایلهای وردپرس در کمتر از چند ثانیه از حالت فشرده خارج بشن و آماده استفاده باشن.
چطور بفهمیم رم و سیپییو سرور زیر فشار هستن؟
اگر سایت وردپرسی شما کند شده و میخواید مچ افزونه یا پردازش سنگینی که داره منابع سرور رو نابود میکنه رو بگیرید، این مراحل رو دنبال کنید. در قدم اول بعد از اتصال به SSH، دستور htop رو تایپ کنید و اینتر بزنید تا یک پنل گرافیکی، زنده و رنگی از وضعیت سرور براتون باز بشه. در قدم بعدی به بالای صفحه نگاه کنید تا میزان مصرف دقیق هر هسته از پردازنده (CPU) و درصد اشغال شدن رم سرور رو به صورت نمودارهای لحظهای ببینید. در قدم سوم به جدول پایین صفحه بیایید و پردازشها رو بررسی کنید؛ اگر دیدید پردازشی مثل mysql یا php-fpm درصد خیلی بالایی رو گرفته، در قدم چهارم میتونید با زدن دکمه F9 روی کیبورد و انتخاب گزینه Kill، اون پردازش مخرب رو فوراً متوقف کنید تا نفس سرور باز بشه.
اگر بعد از تغییر پورت SSH دسترسیمون به سرور قطع شد چه کنیم؟
تغییر پورت SSH یک حرکت عالی برای امنیته، اما اگر بعد از تغییر پورت فایروال رو تنظیم نکرده باشید، دسترسی شما کاملاً قطع میشه که برای حل این بحران باید این مراحل رو برید. در قدم اول اصلاً دستپاچه نشید و به جای نرمافزار پوتی، وارد پنل کاربری شرکت هاستینگ خودتون بشید. در قدم دوم به بخش مدیریت سرور مجازی برید و روی گزینه VNC (اتصال مستقیم به کنسول سرور بدون نیاز به شبکه) کلیک کنید تا خط فرمان سرور براتون باز بشه. در قدم سوم نام کاربری و رمز عبور سرور رو وارد کنید تا لاگین بشید و در قدم چهارم با تایپ دستور خاموش کردن فایروال (مثلاً ufw disable یا systemctl stop firewalld) فایروال رو موقتاً غیرفعال کنید تا بتونید دوباره از طریق پورت جدید به سرور وصل بشید و مشکل رو ریشهای حل کنید.
چطور با SSH دسترسی و مالکیت فایلهای وردپرس (Permissions) رو اصلاح کنیم؟
برای حل خطای عدم اجازه آپلود عکس یا آپدیت نشدن افزونهها در وردپرس که به خاطر سطح دسترسی فایلهاست، میتونید کل این مشکل رو با دو قدم ساده در SSH حل کنید. در قدم اول با دستور cd به پوشه اصلی سایتتون برید و دستور زیر رو برای تنظیم استاندارد دسترسی پوشهها (کد ۷۵۵) و فایلها (کد ۶۴۴) وارد کنید تا امنیت و کارکرد سایت برقرار بشه:
find . -type d -exec chmod 755 {} \; && find . -type f -exec chmod 644 {} \;
در قدم بعدی برای اینکه مالکیت فایلها رو به وبسرور بدید تا وردپرس اجازه نوشتن اطلاعات رو داشته باشه، دستور chown -R www-data:www-data . (یا نام کاربر هاست خودتون) رو اجرا کنید تا تمام خطاهای آپلود سایت در یک ثانیه غیب بشن.
جمعبندی
در نهایت باید بگیم که یادگیری و تسلط روی اتصال به SSH لینوکس، دقیقاً همان مرز باریکی هست که یک وبمستر معمولی رو از یک مدیر سایت حرفهای و مسلط جدا میکنه. با همین چند قدم ساده و کاربردی که با هم بررسی کردیم، شما نه تنها میتونید امنیت سرور وردپرسی خودتون رو با تغییر پورت یا ساخت SSH Key چند برابر کنید، بلکه در مواقع اضطراری هم کنترل کامل هاست رو در دست دارید و خطاهای رایج رو خودتون سهسوته حل میکنید.
پیشنهاد میکنیم این دستورات و ترفندها رو چند بار روی یک سرور تست تمرین کنید تا ترستان از محیط سیاه ترمینال کاملاً بریزه و بتونید مثل یه هکر کلاهسفید، سایت پربازدیدتون رو مدیریت کنید! شاد و سربلند باشید.🙂
برای ارسال نظر لطفا ابتدا ثبتنام کنید یا وارد شوید.