بایگانی

آموزش کامل SSH

SSH:

مخفف Secure Shell میباشد که برای دسترسی از راه دور به سرور میباشد. در این پست بهتون نحوه نصب، کانفیگ و استفاده SSH را می آموزیم.

میتوانید فیلم زیر را مشاهده و دانلود نمایید یا طبق آموزشی متنی زیر فیلم پیش بروید.

 

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

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

نکته : در توزیع CentOS به صورت خودکار SSH نصب و فعال میباشد.

 

در توزیع های خانواده ردهت مانند Centos , Fedora و ..کافیست بسته openssh را با دستور زیر نصب کنید.

sudo yum install openssh

برای استارت کردن سرویس SSH دستور زیر را اجرا کنید.

sudo servie sshd start

برای اینکه همیشه نیاز نباشه سرویس SSH را ران کنید از دستور زیر استفاده کنید.

sudo chkconfig sshd on

در ArchLinux و توزیع های بر پایه آرچ لینوکس کافیست بسته openssh را با دستور زیر نصب کنید.

sudo pacman -S openssh

 

در ubuntu و توزیع های خانواده دبیانکافیست بسته openssh-server را با دستور زیر نصب کنید.

sudo apt-get install openssh-server

در ابونتو و آرچ لینوکس برای استارت کردن سرویس SSH و اینکه همیشه نیاز نباشه سرویسش رو استارت کنید از دستورات زیر استفاده کنید.

sudo systemctl start sshd.service
sudo systemctl enable sshd.service

نکته :‌ اگر دسترسی روت به سرور دارید نیازی به زدن sudo اول دستور نیست.

 

خب وقتشه بریم سراغ اینکه چطوری میتونیم با استفاده از SSH به سرور خودمون متصل بشیم

اگر لینوکس دارید و کاربر لینوکس هست کافی هست ترمینال رو باز کنید و به صورت زیر عمل کنید

ssh user@ip -p port

با استفاده از دستور ssh در لینوکس میتوانید به سرور خود متصل گردید.(در مک هم نیز جواب گو هست)

user: نام کابری شما

ip: ای پی سرور شما

-p : پورت  SSH هست که به صورت دیفالت ۲۲ هست که اگر تغییر نداده اید نیازی نیست از فلگ -p  استفاده کنید اما اگر پورت SSH رو تغییر داده اید باید از فلگ -P استفاده کنید به صورت  یک فاصله و شماره پورت رو جلوش وارد کنید!  و اما اگر تغییر نداده اید در ادامه بهتون میگم چطوری پورت SSH رو تغییر بدید!

 

اما ابزاری هم در لینوکس هست که با استفاده از اون میتونید از طریق SSH به سرورتون متصل بشید مثل ابزار remmina یا putty

و در اخر در ویندوز کافی هست که نرم افزار پوتی (putty) رو از آدرس زیر دانلود و نصب کنید.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

ظاهر برنامه به شکل زیر میباشد

 

نحوه نصب و کانفیگ و استفاده از سرویس SSH + آموزش ویدئویی

که در قسمت hostname (or ip) باید هاست نیم (Hostname) یا آی‌پی (ip) سرور خود را وارد کنید.

نکته: میتوانید به صورت user@ip هم در این قسمت وارد کنید یعنی یوزر شما @ ای پی سرور 

در قسمت port هم پورت SSH خود را وارد کنید. و سپس روی open کلیک کنید تا فرایند اتصال انجام گیرد.

برای تغییر پورت SSH ابتدا به مسیر  زیر مراجعه کنید با استفاده از دستور cd :

نکته : با استفاده از دستور cd میتوانید بین دایرکتوری ها حرکت کنید.

cd /etc/ssh

سپس فایل کانفیگ SSH را با نام sshd_config ویرایش کنید با استفاده از ویرایشگر نانو(nano):

نکته : نانو(nano) یکی از معروف ترین ویرایشگر های خط فرمان لینوکس میباشد.

sudo nano sshd_config

و سه پس به دنبال عبارت زیر بگردید.

#Port 22

اگر نتوانستید پیدا کنید ctrl+w را بفشارید و Port را سرچ کنید توجه کنید با P بزرگ.

و این خط را از حالت کامنت خارج کنید برای خارج کردن کامنت # را حذف کرده  و به جای ۲۲ پورت مورد نظر خود را بنویسید.

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

پس از این کار با Ctrl+x را بفشارید از شما سوال میکند که تغییرات رو سیو کند یا خیر ؟ y به معنای تایید و بله هست و n به معنای خیر.y را تایپ کرده و اینتر را بفشارید.

تبریک میگم پورت اس اس اچ رو با موفقیت تغییر دادید حالا سرویس SSH را با دستور ریستارت کنید و با پورت جدید متصل بشید و لذت ببرید.(برای توزیع های مختلف دستور مشخص شده.)

Centos, Fedora 

sudo service sshd restart

ArchLinux, Ubuntu, Debian

sudo systemctl restart sshd.service

 

بد نیست به یک نکته اشاره بکنیم ! چطوری از ورود یوزر root به سرور از طریق SSH جلوگیری کنیم ؟

برای این کار فایل کانفیگ SSH را دوباره ادیت میکنیم

sudo nano /etc/ssh/sshd_config

و به به دنبال

#PermitRootLogin yes

به گردید و از حالت کامنت آن را خارج کرده و yes را به no تغییر دهید.

سپس سرویس SSH را ریستارت کنید.(در دستورات بالا گفتیم چگونه ssh را ریستارت کنید.)

اکنون دیگر یوزر root توانایی اتصال به سرور از طریق SSH را ندارد.

با استفاده از دستور useradd یک یوزر جدید بسازید به طور مثال hosthey

sudo useradd hosthey

سپس آن را به گروه sudoer ها اضافه نمایید

sudo visudo

و خط زیر را اضافه و سیو کنید.

hosthey ALL=(ALL) ALL

زین پس با یوزر hosthey اول هر دستوری که sudo بذارید از شما درخواست پسورد کرده که با زدن پسورد دسترسی های لازم را گرفته و اجرا میگردد.

مورد آخر هم میخواییم در مورد اینکه چطوری دسترسی به ssh رو کلا ببندیم و فقط به یک یا یکسری آی پی خاص دسترسی بدیم که بتونن از طریق ssh متصل بشن به سرور!‌خب بیایید شروع کنیم ابتدا فایل hosts.allow را در مسیر /et ویرایش کنید.

sudo nano /etc/hosts.allow

سپس عبارت زیر را به آن بیفزایید

به جای ipaddress آی پی مورد نظر خود را وارد کنید.

SSHD : ipaddress : ALLOW

خب ما با این کار فقط به یک آی پی اجازه دادیم به سرویس ssh بتونه متصل بشه اما ! تعریف نکردیم که تکلیف مابقی ای پی ها چیه!‌ باید  دسترسی مابقی ای پی ها رو ببندیم ! پس میایم فایل hosts.deny در مسیر /etc ویرایش میکنیم

sudo nano /etc/hosts.deny

و خطر زیر رو بهش اضافه میکنیم

SSHD : ALL : DENY

این یعنی دسترسی همه ای پی ها بهش بسته باشه به جز ای پی هایی که داخل فایل hosts.allow مشخص کردیم.

و در نهایت سرویس ssh رو ریستارت کنید و از تنظیماتی که انجام دادید لذت ببرید.

 

امیدواریم از این آموزش لذت برده باشید.