آموزش پروتکل ssh و putty – دستورهای خط فرمان لینوکس
SSH چیست ؟
ssh پروتکلی است که به شما اجازه می دهد تا به کامپیوتر سرور به صورت ریموت یا از راه دور متصل شوید
تا بتوانید از سرور نگهداری کنید برای مثال : فایل های داخل سرور را بتوانید کپی کنید , جابجا کنید , پاک کنید, پوشه و شاخه جدید ایجاد کنید و اسکریپت اجرا کنید .
برای اتصال به سرور خود و برای برقراری ارتباط از راه دور شما نیاز به یک ssh client در کامپیوتر خود دارید.
توضیحات مواردلازم برای اتصال به سرور از طریق پروتوکل اس اس اچ:
۱- آی پی آدرس سرور شما یا نام هاستینگ
مثال آی پی سرور : ۱۷۳٫۴۵٫۱۱۳٫۲۱۸
مثالHost name
server1.hostirani.com
2- نام کاربری و کلمه عبور
مدیران سرورها می تواننید با نام کاربری و کلمه عبور روت خود به این پروتک از طریق پوتی متصل شوند , کاربرانی که هاست خریداری کردند در صورت هماهنگی با شرکت هاستینگ مورد نظر می توانند نسبت به فعال سازی اس اس اچ خود با مدیر سرور یا پشتیبانی شرکت هاستینگ تماس بگیرند و با نام کاربری و کلمه عبور خود با برنامه پوتی به راحتی به اس اس اچ متصل شوند.
اتصال به سرور لینوکس به صورت ریموت از طریق پروتکل اس اس اچ در ویندوز
بهترین و معروفترین نرم افزار رایگان برای اتصال به اس اس اچ لینوکس پوتی می باشد
بعد از دریافت پوتی را اجرا کنید
شما کلمه عبور را نامرئی می بیند پس کلمات را به دقت وارد کنید و سپسEnter کنید.
اگر نام کاربری و رمز عبور صحیح باشد سیستم به شما خوش آمد می گوید و خط فرمان آماده گرفتن دستور از شما می باشد .
در ادامه مطلب لیست کامل فرمانهای اس اس اچ به فارسی ترجمه شده و توضیح داده شده است .
خاموش کردن , راه اندازی مجدد و خروج یک سیستم
توضیح
# init 0 این دستور برای خاموش کردن سیستم به کار می رود
# logout خارج شدن از سیستم و رفتن به صفحه ی ورود مجدد ( Login )
# reboot این دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود
# shutdown -h now این دستور برای خاموش کردن سیستم به کار می رود
# shutdown -h 16:30 & خاموش کردن سیستم در ساعت و دقیقه ی معین
# shutdown -c لغو کردن ( cancel ) خاموش شدن سیستم در زمان معین
# shutdown -r now این دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود
# telinit 0 این دستور برای خاموش کردن سیستم به کار می رود
نصب و استقرار یک فایل سیستم
توضیح
# fuser -km /mnt/hda2 مجبور کردن پارتیشن hda2 برای خارج شدن ( unmount ) از مسیر mnt/hda2
# mount /dev/hda2 /mnt/hda2 استقرار ( mount ) پارتیشن با نام hda2 در مسیر mnt/hda2 برای دیدن محتویات آن پارتیشن
# mount /dev/fd0 /mnt/floppy استقرار ( mount ) یک فلاپی دیسک
# mount /dev/cdrom /mnt/cdrom استقرار ( mount ) یک سی دی رام یا دی وی دی رام
# mount /dev/hdc /mnt/cdrecorder استقرار ( mount ) یک سی دی رایتر یا دی وی دی رام
# mount /dev/hdb /mnt/cdrecorder استقرار ( mount ) یک سی دی رایتر یا دی وی دی رام
# mount -o loop file.iso /mnt/cdrom استقرار ( mount ) یک فایل ایمیج ( iso ) در مسیر مورد نظر
# mount -t vfat /dev/hda5 /mnt/hda5 استقرار ( mount ) یک پارتیشن با فرمت FAT32 در مسیر مورد نظر
# mount /dev/sda1 /mnt/usbdisk استقرار ( mount ) یک حافظه فلش
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share استقرار ( mount ) یک دایرکتوری به اشتراک گذاشته شده در شبکه ی سمبا ( samba ) در مسیر mnt/share
# umount /dev/hda2 خارج کردن پارتیشن با نام hda2 از مسیر mnt/hda2
# umount -n /mnt/hda2 اجرای عمل خارج کردن پارتیشن ( unmount ) بدون بازنویسی فایل etc/mtab
اعمال مشخصات ویژه بروی فایل
دستور توضیح
# chattr +a file1 در این حالت , فایل تنها در حالت الحاقی ( اضافه شدن ) قابل تغییر می باشد
# chattr +c file1 اجازه فشرده سازی و باز کردن خودکار یک فایل را به کرنل میدهد
# chattr +d file1 در این حالت , در هنگام اجرای ابزار سیستمی dump برای گرفتن نسخه ی پشتیبان در پارتیشن های ext3 , از فایل مورد نظر نسخه ی پشتیبان تهیه نخواهد شد
# chattr +i file1 با اجرای این دستور , فایل حتی توسط کاربر root غیر قابل تغییر می شود
# chattr +s file1 اجازهی امن بودن حذف یک فایل را میدهد
# chattr +S file1 در این حالت , تغییرات در فایل همزمان بروی هارد دیسک ذخیره می شود
# chattr +u file1 اجازهی بازیابی محتوبیات بک فایل، حتی اگر که cancel شده باشد
# lsattr نمایش مشخصات ویژه یک فایل در یک پارتیشن با سیستم فایل ext3
بسته های RPM ( فدورا و توزیع های مبتنی بر Red Hat )
دستور توضیح
# rpm -ivh [package.rpm] نصب یک بسته ی rpm
# rpm -ivh –nodeeps [package.rpm] نصب یک بسته ی rpm بدون در نظر گرفتن بسته های پیش نیاز
# rpm -U [package.rpm] آپگرید یک بسته ی rpm بدون تغییر فایل های تنظیمات مربوط به آن بسته
# rpm -F [package.rpm] آپگرید یک بسته ی rpm فقط در حالتی که آن بسته نصب شده باشد
# rpm -e [package] حذف یک بسته ی rpm از سیستم
# rpm -qa نمایش همه ی بسته های rpm که در سیستم نصب شده اند
# rpm -qa | grep httpd نمایش همه ی بسته های rpm با نام httpd
# rpm -qi [package] نمایش اطلاعات مربوط به یک بسته ی نصب شده
# rpm -qg “System Environment/Daemons” نمایش بسته های rpm مربوط به یک گروه نرم افزاری
# rpm -ql [package] نمایش لیست فایل های مربوط به یک بسته ی rpm نصب شده
# rpm -qc [package] نمایش لیست فایل های تنظیمات مربوط به یک بسته ی rpm نصب شده
# rpm -q [package] –whatrequires نمایش لیست پیش نیاز های یک بسته ی rpm
# rpm -q [package] –whatprovides نمایش قابلیت های یک بسته ی rpm
# rpm -q [package] –scripts نمایش اسکریپت های اجرا شده در حین عمل نصب یا حذف یک بسته ی rpm
# rpm -q [package] –changelog نمایش تغییرات یک بسته ی rpm نسبت به نسخه ی قبلی
# rpm -qf /etc/httpd/conf/httpd.conf بررسی اینکه فایل مورد نظر به کدام بسته ی rpm تعلق دارد
# rpm -qp [package.rpm] -l نمایش لیست فایل های مربوط به یک بسته ی rpm که هنوز نصب نشده
# rpm –import /media/cdrom/RPM-GPG-KEY وارد کردن کلید ( key )
# rpm –checksig [package.rpm] بررسی سالم بودن یک بسته ی rpm
# rpm -qa gpg-pubkey بررسی سالم بودن همه ی بسته های rpm نصب شده
# rpm -V [package] چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm
# rpm -Va چک کردن حجم , md5 , مجوز و سایر مشخصات همه ی بسته ها ی rpm
# rpm -Vp [package.rpm] چک کردن حجم , md5 , مجوز و سایر مشخصات یک بسته ی rpm نصب نشده
# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm] نصب یک بسته ی ساخته شده از سورس یک بسته ی rpm
# rpm2cpio [package.rpm] | cpio –extract –make-directories *bin* استخراج فایل های اجرایی از یک بسته ی rpm
# rpmbuild –rebuild [package.src.rpm] ساختن یک فایل rpm از روی سورس یک بسته ی rpm
ابزار نصب YUM ( فدورا و توزیع های مبتنی بر Red Hat )
دستور توضیح
# yum -y install [package] دانلود و نصب یک بسته ی rpm از مخازن
# yum localinstall [package.rpm] نصب یک بسته ی rpm و تلاش برای حل پیش نیاز ها با استفاده از مخازن
# yum -y update آپدیت همه ی بسته های rpm نصب شده در سیستم
# yum update [package] آپگرید یک بسته ی rpm به نسخه ی جدیدتر
# yum remove [package] حذف یک بسته ی rpm با استفاده از ابزار yum
# yum list نمایش لیست همه ی بسته های نصب شده در سیستم
# yum search [package] پیدا کردن یک بسته از مخازن
# yum clean [package] پاک کردن cache که شامل بسته های rpm دانلود شده توسط ابزار yum است
# yum clean headers پاک کردن همه فایل های header که سیستم برای حل پیش نیاز ها ( dependency ) از آنها استفاده می کند
# yum clean all پاک کردن همه ی فایل های header و cache
بسته های deb ( اوبونتو و توزیع های مبتنی بر دبیان )
دستور توضیح
# dpkg -i [package.deb] نصب یا أپگرید یک بسته ی deb
# dpkg -r [package] حذف یک بسته ی deb از سیستم
# dpkg -l نمایش همه ی بسته های deb نصب شده در سیستم
# dpkg -l | grep httpd نمایش همه ی بسته های deb با نام httpd
# dpkg -s [package] نمایش اطلاعات مربوط به یک بسته ی خاص که در سیستم نصب شده است
# dpkg -L [package] نمایش لیست فایل های مربوط به یک بسته ی نصب شده در سیستم
# dpkg –contents [package.deb] نمایش لیست فایل های مربوط به یک بسته که هنوز نصب نشده
# dpkg -S /bin/ping بررسی اینکه فایل مورد نظر به کدام بسته تعلق دارد
ابزار نصب apt ( اوبونتو و توزیع های مبتنی بر دبیان )
دستور توضیح
# apt-cache search [package] جستجوی بسته ی مورد نظر
# apt-cdrom install [package] نصب یا آپگرید یک بسته ی deb از روی سی دی رام
# apt-get install [package] نصب یا آپگرید یک بسته ی deb از روی مخازن با استفاده از ابزار apt
# apt-get update بروز رسانی لیست تمام بسته های موجود در مخازن
# apt-get upgrade آپگرید همه ی بسته های نصب شده به نسخه ی جدیدتر
# apt-get remove [package] حذف یک بسته ی deb از روی سیستم توسط ابزار apt
# apt-get check بررسی وضعیت پیش نیازها ( dependencies )
# apt-get clean پاک کردن cache که شامل بسته های deb دانلود شده توسط ابزار apt است
ابزار نصب Pacman ( توزیع های Arch , Frugalware و … )
دستور توضیح
# pacman -S name بستهی نرم افزار ‘name’ را با وابستگیهایش نسب کن
# pacman -R name بسته ی با نام ‘name’ را با تمام فایلهایش حذف کن
آنالیز و تعمیر فایل سیستم
دستور توضیح
# badblocks -v /dev/hda1 بلوکهای خراب را بر روی hda1 بررسی کن
# dosfsck /dev/hda1 درست بودن پیکربندی dos بر روی دیسک hda1 را بررسی یا درست کن
# e2fsck /dev/hda1 درست بودن پیکربندی ext2 بر روی دیسک hda1 را بررسی یا درست کن
# e2fsck -j /dev/hda1 درست بودن پیکربندی ext3 بر روی دیسک hda1 را بررسی یا درست کن
# fsck /dev/hda1 درست بودن پیکربندی linux بر روی دیسک hda1 را بررسی یا درست کن
# fsck.ext2 /dev/hda1 درست بودن پیکربندی ext2 بر روی دیسک hda1 را بررسی یا درست کن
# fsck.ext3 /dev/hda1 درست بودن پیکربندی ext3 بر روی دیسک hda1 را بررسی یا درست کن
# fsck.vfat /dev/hda1 درست بودن پیکربندیfat بر روی دیسک hda1 را بررسی یا درست کن
# fsck.msdos /dev/hda1 درست بودن پیکربندی dos بر روی دیسک hda1 را بررسی یا درست کن
دستورات شبکه ( Lan و WiFi )
دستور توضیح
# dhclient eth0 فعال سازی واسط eth0 در مد dhcp
# ethtool eth0 امار شبکهی eth0 را نمایش می دهد
# host IANA — Example domains تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس !
# hostname اسم host دستگاه را نمایش میدهد
# ifconfig eth0 نمایش تنظیمات کارت شبکهی ethernet
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 تنظیم آدرس IP
# ifconfig eth0 promisc تنظیم کارت شبکه ( eth0 ) در حالت promiscuous برای جمع آوری بسته ها
# ifdown eth0 واسط eth0 را غیر فعال میکند
# ifup eth0 فعال سازی واسط eth0
# ip link show مشاهده ی وضعیت اتصال تمامی شبکه های موجود
# iwconfig eth1 نمایش شبکهی بیسیم
# iwlist scan جستجوی wifi برای نمایش اتصلات بیسیم قابل دسترسی
# mii-tool eth0 وضعیت اتصال ‘eth0′ را نمایان کن
# netstat -tup نمایش تمام اتصلات فعال و PID مربوط آنها
# netstat -tupl نمایش تمام سرویسهای دستگاه و PID مربوطه
# netstat -rn جدول مسیرها “routing table” را نمایش بده، مانند دستور “route -n”
# nslookup IANA — Example domains تبدیل آدرس سایت مورد نظر به آدرس های IP و بالعکس !
# route -n نمایش جدول routing
# route add -net 0/0 gw IP_Gateway تغییر دروازه (gateway) پایه
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 تنظیم مسیر ایستایی برای رسیدن به شبکهی ۱۹۲٫۱۶۸٫۰٫۰/۱۶
# route del 0/0 gw IP_gateway حذف مسیر ایستایی
# echo “1″ > /proc/sys/net/ipv4/ip_forward فعال سازی ip routing
# tcpdump tcp port 80 تمام ترافیک HTTP را نمایش میدهد
# whois IANA — Example domains جستوجو در پایگاه دادهی Whois
شبکه با مایکروسافت ویندوز ( samba )
دستور توضیح
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share بابار گزاری اشتراک شبکهی ویندوز
# nbtscan ip_addr وضوح اسم نت بایوس
# nmblookup -A ip_addr وضوح اسم نت بایوس
# smbclient -L ip_addr/hostname اشتراکهای remote از یک host ویندوز را نمایش می دهد
# smbget -Rr smb://ip_addr/share مانند دستور wget میتوان فایل را از یک host ویندوز توسط پروتکل smb دانلود کند