همانطور که میدانید پروتکل SSH یک راه امن برای ارتباط بین دو کامپیوتر معمولاً سرور و کلاینت است و میتواند با کدگذاری اطلاعات جلوی شنود اطلاعات توسط هکرها بگیرد. از طرفی SSH اکنون به عنوان تنها پروتکل قابل استفاده و پذیرفته شده برای ارتباط کامپیوترها، مورد استفاده قرار میگیرد و پروتکلهای قدیمی مانند Telnet دیگر استفاده نمیشوند. حتی نسخههای قدیمی SSH نیز دیگر استفاده نمیشوند به نسخههای امنتر با encryption های پیچیدهتر ارتقاء یافتهاند. از این رو ما به عنوان یک کاربر حرفهای و یک اپراتور سرور باید بتوانیم با این پروتکل به سرور خود متصل شویم و از آن استفاده کنیم. در این مقاله نحوه استفاده از SSH را در تمامی سیستمعاملهای ویندوز، مک و لینوکس بررسی خواهیم کرد. اما قبل از آن یک مرور و معرفی کلی از پروتکل SSH خواهیم داشت.
خرید سرور مجازی با سیستمعاملهای لینوکس، ویندوز و میکروتیک از کشورهای (ایران، آلمان، انگلیس، ترکیه، فرانسه، هلند و کانادا و...) در آذرآنلاین امکانپذیر است. VPS آذرآنلاین با دسترسی کامل (Root و Administrator)، آیپی ثابت (IPv4 و IPv6)، آپتایم ۹۹٪، پینگ پایین، پهنای باند عالی و ترافیک نامحدود، گزینهای ایدهآل برای توسعهدهندگان، صاحبان کسبوکار و تریدرها است.
خرید سرور مجازیمعرفی پروتکل SSH
پروتکل SSH مخفف Secure Shell است و یک پروتکل شبکه بسیار امن برای برقراری ارتباط از راه دور با کامپیوترها و سرورها محسوب میشود. به زبان سادهتر، SSH مثل یک تونل امن است که به شما اجازه میدهد از طریق یک شبکه ناامن مثل اینترنت به دستگاههای دیگر متصل شوید و دستورات را اجرا کنید، فایلها را انتقال دهید و به طور کلی دستگاه را مدیریت کنید. این پروتکل از رمزنگاری قوی برای محافظت از اطلاعات شما در برابر هکرها و افراد غیرمجاز استفاده میکند و جایگزین امنتری برای پروتکلهای قدیمیتر مانند Telnet است.
با SSH، میتوانید با خیال راحت به سرورهای وب، پایگاه داده و سایر سیستمهای مهم دسترسی داشته باشید. این پروتکل بر روی پورت 22 رزرو شده است، اما کاربر میتواند پورت را با توجه به نیاز خود تغییر دهد. از SSH میتوان برای انتقال فایلها در یک تونل امن نیز استفاده کرد؛ SSH به عنوان یک لایه رمزنگاری بر روی پروتکل FTP قرار میگیرد و فایلها را قبل از ارسال رمزنگاری میکند که به آن پروتکل SFTP (SSH File Transfer Protocol) نیز گفته میشود.
اتصال به SSH در ویندوز
در سیستمعامل ویندوز امکان اتصال به SSH بصورت پیشفرض فراهم نیست. بنابراین باید از یک نرمافزار جانبی برای این امر استفاده کرد. نرمافزارهای متعددی وجود دارند که در میان آنها PuTTY از همه سبکتر و کاربردیتر است. در ادامه مراحل اتصال به SSH با استفاده از PuTTY را به صورت ساده توضیح میدهیم:
-
به وبسایت رسمی PuTTY مراجعه کرده و نسخه مناسب با سیستمعامل خود را دانلود و نصب کنید.
-
پس از نصب، نرمافزار PuTTY را اجرا کنید.
-
در بخش Host Name (or IP address)، آدرس IP یا نام دامنه سروری که میخواهید به آن متصل شوید را وارد کنید.
-
در بخش Port، شماره پورت SSH را وارد کنید. معمولاً این شماره 22 است، اما ممکن است در برخی موارد متفاوت باشد.
-
روی دکمه Open کلیک کنید. اگر برای اولین بار به این سرور متصل میشوید، پیغامی مبنی بر تایید کلید میزبان نمایش داده میشود. با تایپ کردن yes و زدن Enter، کلید را تایید کنید.
-
نام کاربری و رمز عبور خود را که برای دسترسی به سرور تعریف شده است، وارد کنید تا اتصال برقرار شود و به ترمینال لینوکس سرور متصل شوید.
آموزش ویدیویی اتصال به سرور مجازی ویندوز با گوشی (اندروید و آیفون)
اتصال به SSH در لینوکس و مک
از آنجا که SSH به عنوان سرویس پیشفرض در سیستمعاملهای لینوکس و مک نصب شده است، نیازی به نصب چیزی نیست و تنها کافی است وارد ترمینال شوید و دستور زیر را وارد کنید :
-
یک ترمینال (Terminal) در سیستم لینوکس یا مک خود باز کنید.
-
دستور زیر را در ترمینال تایپ کرده و Enter را بزنید.
-
هنگامی که از شما خواسته شد، رمز عبور خود را وارد کنید. توجه داشته باشید که تایپ رمز در ترمینال لینوکس نمایش داده نمیشود.
ssh username@server_address
-
username : نام کاربری شما در سرور.
-
server_address : آدرس IP یا نام دامنه سرور.
برای مثال اگر نام کاربری شما user1 و آدرس IP سرور 192.168.1.100 باشد، دستور شما به صورت زیر خواهد بود:
نکات مهم در اتصال به SSH
-
پورت : اگر سرور از پورت دیگری برای SSH استفاده میکند، میتوانید آن را با -p مشخص کنید. مثلاً: ssh -p 2222 [email protected]
-
تایید میزبان : در اولین اتصال به یک سرور، ممکن است از شما خواسته شود که کلید میزبان را تایید کنید.
-
تنظیمات SSH : میتوانید تنظیمات مختلفی مانند زمان اتصال مجدد، میزان لاگ و ... را در فایل پیکربندی SSH تغییر دهید.
آموزش اتصال به سرور مجازی ویندوز (VPS) از دسکتاپ
مشکلات رایج و احتمالی و راه حلها
ممکن است حین کار با SSH دچار مشکلات احتمالی شوید. در ادامه لیستی از این مشکلات رایج را همراه با راه حلهای آنها بررسی خواهیم کرد.
خطای "Connection refused"
-
مطمئن شوید که سرویس SSH روی سرور اجرا شده باشد.
-
بررسی کنید که فایروال مانعی برای اتصال به پورت 22 (پورت پیشفرض SSH) ایجاد نکند.
خطای "Connection timed out"
-
مطمئن شوید که سرور روشن است و به شبکه متصل است.
-
ترافیک شبکه با مشکل مواجه شده است. مشکلات شبکه مانند قطع شدن اینترنت میتوانند باعث این خطا شوند.
خطای "Permission denied"
-
بررسی کنید که آدرس IP صحیح باشند.
-
مطمئن شوید که نام کاربری و رمز عبور با حساب کاربری که در سرور تعریف شده است، یکسان باشد.
-
مجوزهای فایلهای SSH به درستی تنظیم شده باشند.
-
کلید عمومی شما به درستی در سرور تنظیم شده باشد. (کلید میزبان ناشناخته) کلید میزبان را تایید کنید یا فایل شناخته شده کلیدهای میزبان را ویرایش کنید.
-
مطمئن شوید که مجوزهای دسترسی به فایلها و دایرکتوریها به درستی تنظیم شده باشند.
خطای "Host key verification failed"
-
کلید میزبان سرور تغییر کرده است. هنگام اتصال، کلید میزبان جدید را تایید کنید.
-
فایل شناخته شده کلیدهای میزبان (known_hosts) خراب شده است. اگر مطمئن هستید که کلید جدید معتبر است، میتوانید فایل known_hosts را حذف کنید تا مجبور به تایید مجدد کلید شوید.
دستورات کاربردی و متداول SSH و ترمینال
کار با SSH آسان است، اما برای استفاده از امکانات آن نیاز است تا با دستورات مهم آن آشنا شوید. این دستورات همان دستورات ترمینال هستند که شامل موارد SSH نیز میشوند. در ادامه برخی از این دستوات را بررسی خواهیم کرد:
دستورات ناوبری و مدیریت فایلها
-
ls : لیست کردن فایلها و دایرکتوریهای موجود در دایرکتوری فعلی.ls -la: نمایش اطلاعات مفصلتر فایلها، از جمله مجوزها، مالک و تاریخ تغییر.
-
cd : تغییر دایرکتوری.cd ..: رفتن به دایرکتوری قبلی.
-
cd / : رفتن به دایرکتوری روت.
-
pwd : نمایش مسیر کامل دایرکتوری فعلی.
-
mkdir : ایجاد یک دایرکتوری جدید.mkdir my_directory: ایجاد دایرکتوری با نام my_directory.
-
rmdir : حذف یک دایرکتوری خالی.
-
rm : حذف فایل یا دایرکتوری.هشدار: دستور rm -rf همه فایلها و دایرکتوریها را به صورت بازگشتی حذف میکند. با احتیاط از آن استفاده کنید.
-
cp : کپی کردن فایل یا دایرکتوری.cp source_file destination_file: کپی کردن یک فایل.
-
cp -r source_directory destination_directory : کپی کردن یک دایرکتوری به همراه محتویات آن.
-
mv : انتقال یا تغییر نام فایل یا دایرکتوری.
دستورات ویرایش فایلها
-
nano : یک ویرایشگر متن ساده برای ویرایش فایلها.nano my_file.txt: باز کردن فایل my_file.txt در ویرایشگر nano.
-
vim : یک ویرایشگر متن قدرتمندتر با قابلیتهای بیشتر.vim my_file.txt: باز کردن فایل my_file.txt در ویرایشگر vim.
دستورات جستجو
-
grep : جستجوی متن در فایلها.grep 'pattern' file.txt: جستجوی کلمه یا عبارت pattern در فایل file.txt.
-
find : جستجوی فایلها بر اساس نام، نوع، اندازه و ... .find / -name 'myfile.txt': جستجوی فایل myfile.txt در کل سیستم.
دستورات مدیریت فرآیند
-
ps : نمایش فرآیندهای در حال اجرا.ps aux: نمایش تمام فرآیندها با اطلاعات مفصل.
-
kill : خاتمه دادن به یک فرآیند.kill PID: خاتمه دادن به فرآیندی با شناسه PID.
دستورات دیگر
-
ssh-copy-id : کپی کردن کلید عمومی به سرور برای اتصال بدون نیاز به وارد کردن رمز عبور.
-
scp : انتقال ایمن فایلها بین دو سیستم.
-
sftp : پروتکل انتقال فایل به صورت تعاملی.
-
wget : دانلود فایلها از اینترنت.
-
tar : فشرده سازی و استخراج فایلها.
سخن پایانی
نرمافزارهای جایگزین: علاوه بر PuTTY، نرمافزارهای دیگری مانند MobaXterm و Bitwise SSH Client نیز برای اتصال به SSH در ویندوز قابل استفاده هستند. استفاده از تونلهای امن برای اتصال به سرور میتواند علاوه بر امنیت، امکانات بیشتری برای شما فراهم کند. اگرچه پس از SSH پروتکلهای دیگری مانند Socks و Vmess هم معرفی شدند، اما پروتکل SSH یک پروتکل استاندارد است که همه سرورها و کامپیوترها آن را به رسمیت میشناسند. از طرفی بیشتر پروتکلهای جدید خود بر روی SSH یک لایه جدید ایجاد کردهاند؛ با اینحال تحقیق و مطالعه در مورد پروتکلهای جدید خالی از لطف نیست.