آیا می دانستید که 96 درصد از 1 میلیون وب سرور برتر از لینوکس استفاده می کنند؟

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

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

یک یادداشت سریع قبل از اینکه وارد شوید: آدرس IP که در دستورات مثال آورده‌ام و آدرسی که در اسکرین‌شات‌های مثال آورده‌ام متفاوت خواهد بود. دلیلش این است که من سروری برای نشان دادن همه چیز ندارم، بنابراین لپ‌تاپم را تبدیل به سرور کردم. بنابراین، تمام اسکرین شات های مثال من آدرس های IP محلی من را با شروع نمایش می دهند 192.168....

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

من عاشق توسعه نرم افزار هستم، اما واقعاً از DevOps و استقرار متنفرم. وقتی نوعی کار DevOps داشته باشم، آن را به متخصص تیمم می سپارم و دور می مانم.

دلیلش عدم تجربه من در مدیریت سرورهاست. اما گاهی اوقات، وقتی اعضای تیمم در دسترس نیستند، مجبور می شوم استقرارها را انجام دهم.

بنابراین، مرحله اولیه برای استقرار (دستی) ورود به سرور است. برای ورود باید آدرس IP و رمز عبور سرور را بدانید.

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

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

sudo apt install openssh-client
دستور Install SSH Client برای اتصال به سرور SSH

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

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

برای ورود به سرور به موارد زیر نیاز دارید:

  1. آدرس IP دستگاه سرور
  2. نام کاربری سرور
  3. رمز عبور کاربر
ssh user@<ipaddress>
فرمان اتصال با سرور

در اینجا یک دستور مثال است:

ssh ubuntu@45.244.96.73
نمونه دستور اتصال به سرور

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

HgByhOjGdN5KCqnk-0RXRAqvrHXdttXbpxjatpEOm6f7k7_1VAEUZKu7xVZ6CrLqpeG6vAu2Lj3zj7sSFpUPF-7TEFRJ3FIeMOXAQyMYPyPXKz2TFRJ3FIeMOXAQyMYPyPXKz1 sH4LgE3ctFc
نمونه خروجی اتصال با سرور لینوکس با استفاده از دستور SSH.

از طرف دیگر، می‌توانید بدون هیچ درخواستی با افزودن عبارت وارد شوید -p گزینه با sshpass دستور به ssh فرمان باید داشته باشی sshpass برای امتحان این روش نصب شده است.

نحو به این صورت است:

sshpass -p <password> ssh user@<ipadrress>
با ذکر صریح رمز عبور با سرور ارتباط برقرار کنید

و در اینجا یک مثال سریع وجود دارد:

sshpass -p password ssh user@45.244.96.73
نمونه دستور اتصال با سرور با ذکر صریح رمز عبور

این روش توصیه نمی شود. آرگومان های خط فرمان برای همه کاربران قابل مشاهده است (به عنوان مثال، ps -ef | grep sshpass). sshpass تلاش می کند تا استدلال را پنهان کند، اما هنوز پنجره ای وجود دارد که طی آن تمام کاربران می تواند رمز عبور شما را که توسط آرگومان منتقل شده است ببیند.

پیشنهاد می‌کنیم بخوانید:  شروع کار با مجموعه ها در جاوا اسکریپت گروه های داده در اشکال مختلف یکی از ساختارهای داده اساسی در اکثر زبان های برنامه نویسی است. در بسیاری از موارد، به گروه‌هایی از داده‌هایی که از طریق انواع داده‌های مختلف بیان می‌شوند، مجموعه‌ها گفته می‌شود. در این راهنما - نگاهی به مجموعه ها در جاوا اسکریپت و زمان استفاده از آن خواهیم انداخت...

در لینوکس نیز دستوری وجود دارد به نام history که دستورات گذشته شما را نمایش می دهد. هر کاربری که به دستگاه شما دسترسی پیدا کند می‌تواند آن را اجرا کند history فرمان داده و اعتبار ورود به سرور خود را پیدا کنید. اما اگر رمز عبور را در یک اعلان وارد کرده باشید، آن را به کاربران در نشان داده نمی شود history فرمان

در اینجا خروجی از history دستور:

تصویر-265
history فرمان دستورات گذشته را نمایش می دهد

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

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

  1. ssh
  2. وارد شدن

نحوه ورود با SSH

همانطور که قبلاً با دستور SSH بحث شد، می توانیم با استفاده از همان نحو به کاربر دیگری وارد شویم.

ssh <user>@<ipaddress>
ssh root@45.244.96.73
فرمان اتصال با کاربر در ماشین محلی/سرور

نحوه ورود با login فرمان

می توانید استفاده کنید login دستور تعویض کاربر در داخل سرور.

بیایید فرض کنیم شما وارد سیستم شده اید ubuntu کاربر در 45.244.96.73 سرور بعداً متوجه شدید که می خواهید به آن سوئیچ کنید ak کاربر برای انجام برخی از عملیات مدیریت. در چنین حالتی، می توانید به سرعت کاربر را با استفاده از login فرمان

نحو برای login دستور این است:

sudo login <username>
فرمان اتصال با یک کاربر خاص در یک ماشین محلی

و در اینجا یک مثال برای جابجایی به کاربر root آورده شده است:

sudo login ak
نمونه فرمان برای اتصال با یک کاربر خاص در یک ماشین محلی

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

NdnozHMxq8yjUemRfgXbLseAJJOtdjFuogF80P3sXiHA9WsH-kaM7pfsqq7u9tMrCgB1kIU8up5_stEPbov2w7SEI8Tx-0jWfSDwGn4xZMX0CGn4xMX0LGN4xMX0LGn4xMX0LGn4xMX0LT vyrvy1cWGq9I
نمونه خروجی برای اتصال با Local User

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

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

نحوه برقراری ارتباط بین جلسات در لینوکس

آیا می دانستید که می توانید از ترمینال لینوکس خود به عنوان رابط چت استفاده کنید؟

خوب، بله – شما می توانید. اگر شما و همکارانتان به عنوان کاربران خود با استفاده از SSH به یک سرور متصل هستید، همه می‌توانید از طریق ترمینال ارتباط برقرار کنید.

مانند همه این ویژگی ها، چند پیش نیاز برای ادامه وجود دارد.

ابتدا مطمئن شوید که دسترسی پیام در سیستم گیرنده فعال است. برای تایید آن، دستور زیر را در ترمینال تایپ کنید:

mesg
فرمان برای بررسی دسترسی پیام
GhfC5V8FTtbZMrFpMef_tdVanRwDZv7qksWLAtSp2Oi6LixFWOLUme82szxja60ho6h04jHi5cUjkFTAgKepTKw3KsRjr7Yx1yt1bJ_rvDKEmXDSH9BJ_rvDKW4XL Gcl3omuRsYg
فرمان ترمینال برای بررسی فعال بودن دسترسی به پیام

پاسخ یا بله یا خیر خواهد بود.

is y – دسترسی به پیام فعال است

is n – دسترسی به پیام غیرفعال است

برای جابجایی این ویژگی، باید نماد را به همراه علامت ارسال کنید mesg فرمان

mesg y      # Enable message access
mesg n      # Disable message access
فرمان برای فعال/غیرفعال کردن دسترسی به پیام

سعی کنیم با دیگران ارتباط برقرار کنیم.

دو دستور برای برقراری ارتباط وجود دارد:

  1. write
  2. wall

این write و wall دستورات از مکانیزم نسبتاً ساده ای استفاده می کنند. هر دو دستور یک پیام را از یک جلسه می گیرند و به جلسه(های دیگر) تحویل می دهند.

نحوه استفاده از write فرمان

می توانید استفاده کنید write دستور ارسال پیام به یک کاربر واحد (پیام مستقیم).

write <username>
دستور ارسال پیام به یک کاربر خاص
write ak
نمونه فرمان برای ارسال پیام به کاربر ak

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

در اینجا مثالی وجود دارد که ارتباط بین کاربران را نشان می دهد ak و gogosoon:

j5imQ3k0CpoU80sgoesN-0-C2YE94Q130NeWqCaWx9jU42jEhKKR31Izy1H5k6WSb5TRd5pVUfa4CPg0GUeY_qnIzcoapWEK8D6W42JqCaWx9jU42jEhKKR31Izy1H5k6WSb5TRd5pVUfa4CPg0GUeY_qnIzcoapWEK8D6W42JqVBIKqVRVR42JqVMIVqVRVR9 lZ_MRcP3s7o
نمونه خروجی ارسال پیام به کاربر
DXtSsy3TbbeHr8oX3bB8mSxPxkXy6zsVjJ9WwlI8HfXJJVi6RL8BgTHaSUivl1rZzVpD9aEq6LPn9Gfq8_8FHTzwXE2FGtUz4TTO8NXY05GUS y7SxdGlkf5LTLdg
نمونه خروجی پیام دریافتی با استفاده از دستور نوشتن

بیایید پیام رسانی را خاموش کنیم ak کاربر و سعی کنید یک پیام از طرف ارسال کنید gogosoon کاربر.

mesg n
Nyt9Ror-xWpTtnGd77lkjXM_cb7hUcj1fE3fbJEk-kEc-EPsUxQCwhpuo_br1ba44XEdnGa9WzDQkE2OcY4lZW9R7LFCob4kNVYBPmmf8Z5GoF4KNVYBPmmf65GoF41FPmmf65G1Q1X10000000000FNh WwE0-HzLeNA9Ss
خاموش کردن پیام برای ak کاربر
QY3yKIRAMJpxHOlaY3jJfyuQI5zLDyB8iecBIkAIzeuAHobYU1q6IiWDyN9sVu1Xikl5psyLMtpy7TFYAxohNbxINlQFS-5zE7Y18TSbYlVR6EhWQVRQV3LVR6EhWQV3LVR6EhBQV3LVR6EhBQV3LVR6VL3VR6LV3VR6EhWQVCVCVC 8hjY
در حال تلاش برای ارسال پیام به ak کاربر از gogosoon کاربر

نحوه استفاده از wall فرمان

می توانید استفاده کنید wall دستور نوشتن پیام برای همه کاربرانی که وارد سیستم شده اند. این دستور پیام یا محتویات یک فایل را برای همه کاربرانی که وارد سیستم شده اند نمایش می دهد. اساساً پیام را برای تمام جلسات پخش می کند.

پیشنهاد می‌کنیم بخوانید:  قراردادهای نامگذاری پایتون برای متغیرها، توابع و کلاس ها
wall <message>
دستور ارسال پیام به تمام کاربرانی که وارد شده اند
9emd9tiz1MkQHQDYaCs_2Y8Cc87T1Yt3GLKsYPGZ9IYEZGecDE95zaLZJdpNik5szyKB1_Y-d60WsOIlZPVGy1YrNWmfb2tbCQltO3XaZhVQ2TbCQltO3X1VQ8bCQltO3X1V6fx UpHnzVtaBiWQwI
نمونه فرمان برای ارسال پیام به همه کاربران وارد شده
ey4zUh9Rv_OEZcn3LUn4ksRg_eMekUUNyOvvny7_E0PGvbODYjkYGcZ7fsBoZ7W3DwZQOshbCJlhm7AQ6_ty5rCItysHSAU_ceGvLmuUFimchZe8FCD9Mz1 YVrMY5Q
نمونه خروجی پیام دریافتی از کاربر gogosoon

در اینجا می توانیم پیام را در کاربر مشاهده کنیم ak. به طور مشابه، پیام را به هر کاربر وارد شده ارسال می کند.

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

من معتقدم که اکثر مردم استفاده از FTP را برای انتقال فایل ها از و به سرور توصیه می کنند. FTP کنترل بیشتری بر روی فایل‌ها مانند امکان تغییر نام، حذف، انتقال و تغییر فایل‌ها از رایانه راه دور فراهم می‌کند.

اما FTP در برابر هر کسی که ممکن است سعی در مشاهده اعتبار شبکه شما داشته باشد، محافظت نمی کند.

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

شما می توانید فایل ها را با استفاده از scp فرمان

SCP مخفف عبارت Secure Copy Protocol است. این دستور به کاربر اجازه می دهد تا فایل ها را به روشی امن به اشتراک بگذارد. برخلاف FTP، SCP از امنیت بالایی برخوردار است. از پوسته ایمن برای رمزگذاری داده ها و اعتبارنامه های شما استفاده می کند. SCP امکاناتی برای کنترل فایل ها فراهم نمی کند.

از آنجایی که این دستور از پروتکل رمزگذاری سرتاسر پیروی می کند، از رمزگذاری روی an استفاده می کند اتصال SSH. این کار فایل ها را از حملات مشکوک محافظت می کند.

انتقال فایل ها از طریق SCP در مقایسه با FTP کند خواهد بود. اما، اگر به جابجایی یکباره فایل ها نیاز دارید، جایگزین بهتری برای FTP است.

دستور SCP به شکل زیر است:

scp [OPTIONS] <user>@<src_host>:<file_src_path> <user>@<dest_host>:<file_dest_path>
سینتکس برای انتقال فایل ها بین سرورها.

با استفاده از دستور SCP می توانیم عملیات زیر را انجام دهیم:

  1. فایل را از دستگاه ما به دستگاه سرور کپی کنید
  2. فایل را از دستگاه سرور در دستگاه ما کپی کنید
  3. فایل را از یک سرور به سرور دیگر کپی کنید

اکنون هر یک از این عملیات را با جزئیات بیشتری بررسی می کنیم.

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

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

scp <filepath> user@hostname:<filepath>
سینتکس برای انتقال فایل ها از ماشین محلی به سرور
scp sample.txt ak@45.244.96.73:/home/ak/
نمونه فرمان برای انتقال فایل ها از ماشین محلی به سرور
xRevVCaYkcjReW_KL5z3AR4URLrtfj7ddjb5syy9XYAM77ndXOwPsq5aqGpEY3Y6Py3ro2kYaklDYOjqSkf4t_eFDwsTvlHn7-EyI8GW1UXRrGQTht bADsm5IAmRY
نمونه خروجی برای انتقال فایل ها از ماشین محلی به سرور
R1Seq1__aIY64McpCrOxq2EHDzIUbkH9Yp_hjaGdTBjMx_Ig1Dl4JImNmeUJ83rKQnXbgaMOeqkgNwG7NAFEF7uHFPFzsmmGcrxXptTBjMx_Ig1Dl4JImNmeUJ83rKQnXbgaMOeqkgNwG7NAFEF7uHFPFzsmmGcrxXptTBjMx_Ig1Dl4JImNmeUJ83rKQnXbgaMOeqkgNwG7NAFEF7uHFPFzsmmGcrxXptTBjMXPWAN- TffliTR-M
وضعیت آپلود فایل
Qn41hy9eTLlH8qHHdBNDHDP-svOKwuyEJI_1xcpQd3dMBepILQA6hu_yEA-fj-Yaguq6hoqYOqR5GunCfmnsAosKGosovwjKdXAFuLODjUXV4GwtQd3dMBepILQA6hu_yEA-fj-Yaguq6hoqYOqR5GunCfmnsAosKGosovwjKdXAFuLODjUXV4Gwt9qpLPUD NDg
Sample.txt به سرور منتقل شده است

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

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

بیایید ببینیم چگونه فایل را از سرور به ماشین محلی خود منتقل کنیم:

scp server_username@<server_host>:<filepath> <local_path>
سینتکس برای انتقال فایل ها از ماشین سرور به محلی

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

scp ak@45.244.96.73:/home/ak/server_file.txt /home/gogosoon/test
نمونه فرمان برای انتقال فایل ها از ماشین سرور به محلی

اگر local_path را خالی بگذارید، فایل در فهرست اصلی کپی می شود.

oDuUIGXLgFnUYwZY1qrym9lsy8rvLI-cktIOMA-0eVASMw3c1NofUApRERSH8jAEt8Jqv8KTML7xHT_oQihD6cECczYyeTI0MyVlrixpR0CJWhl6oV0V0VY9MyVlrixpR0CJWhl6oV0V0VYN _iG4
ایجاد فایل در سرور برای انتقال
8UQdbKsHlapYP3pIKrlYM5_qAdVGBxN5I_cr_u3ugIyiHuzTXjHSjWsGMKESFascLc8KvqH_aAglXfB2qSiW2-90t3ceWVOQ-PYsHekTkufCiW2-90t3ceWVOQ-PYsHeqTkufCue20KBQ000FQu70BBQ00TkufCym2 QKL7dSDo
نمونه خروجی انتقال فایل از سرور به محلی

نحوه کپی کردن فایل از یک سرور به سرور دیگر

بیایید فرض کنیم در حال گرفتن یک نسخه پشتیبان از یک فایل از یک سرور هستید. به دلیل برخی نگرانی های امنیتی نمی خواهید این فایل در دستگاه شما ذخیره شود. اما، شما می خواهید این فایل را به سرور دیگری منتقل کنید.

کپی فایل ها از یک سرور به سرور دیگر نیز با این امکان پذیر است scp دستور:

scp <src_user>@<src_host>:<src_path> <dest_user>@<dest_host>.com:/<dest_path>
سینتکس برای انتقال فایل ها از یک سرور به سرور دیگر
scp ak@45.244.96.73:/home/ak/script.sh gogosoon@45.244.196.173:/home/gogosoon/
نمونه فرمان برای انتقال فایل ها از یک سرور به سرور دیگر

نتیجه

بسیار خوب، ما به پایان این آموزش رسیدیم. امیدوارم همه شما از یادگیری این دستورات مفید لذت برده باشید.

اگر یک مهندس DevOps، توسعه دهنده لینوکس هستید یا در حال یادگیری لینوکس هستید، این دستورات بسیار مفید خواهند بود. اگر از این راهنما لذت بردید، لطفاً آن را با همکاران/دوستان خود که علاقه بیشتری به کار روی سرورها دارند به اشتراک بگذارید.

برای کسب اطلاعات بیشتر در مورد لینوکس، در خبرنامه ایمیل من در سایت من مشترک شوید و من را در رسانه های اجتماعی دنبال کنید.