غیرفعال‌سازی ورود با پسورد SSH

در این مطلب می‌خواهیم نحوه غیرفعال‌سازی ورود با پسورد SSH  را توضیح دهیم. در این حالت تنها اجازه ورود با استفاده از کلیدهای SSH داده خواهد شد. امّا چگونه تأیید پسورد SSH در سیستم‌عامل‌های لینوکس غیرفعال می‌شود؟ در ادامه، با ما همراه باشید.

اول از همه باید یک اکانت کاربری معمولی ایجاد کنید. سپس نوبت به تنظیم ورود کلیدهای SSH می‌رسد. به دنبال این کار، شما باید دسترسی پسورد را برای تمام کاربران، از جمله کاربر روت غیرفعال نمایید.

در این مطلب به شما نشان می‌دهیم که چکونه یک کلید SSH تولید کنید و همچنین تأییدیه پسورد را در لینوکس یا سیستم‌های مبتنی بر یونیکس از کار بیندازید. در اینجا به منظور نمایش بهتر در آموزش، از توزیع لینوکس اوبونتو استفاده شده است.

گام ۱) ورود به سرور ریموت

از فرمان ssh یا یک کلاینت مانند Putty استفاده کنید:

$ ssh [email protected]

$ ssh [email protected]

گام ۲) ایجاد یک حساب کاربری جدید

فرمان زیر را در سیستم مبتنی بر لینوکس تایپ کنید تا یک حساب کاربری جدید با نام vivek بسازید:

# useradd -m -s /bin/bash vivek

حالا کلمه عبور این حساب کاربری را تنظیم نمایید:

# passwd vivek

نمونه خروجی

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

کاربر را به منبع sudo در اوبونتو / دبیان یا wheel در RHEL/CentOS کنید:

# usermod -aG sudo vivek

و یا در لینوکس RHEL/CentOS

# usermod -aG wheel vivek

فرمان بالا به افراد کمک می‌کند که در group wheel یا sudo تمام فرمان‌ها را اجرا نمایند. با فرمان زیر، این موضوع را تأیید کنید:

# su - vivek

$ id vivek

نمونه خروجی

uid=1000(vivek) gid=1000(vivek) groups=1000(vivek),27(sudo)

خروج از وضعیت ورود به سیستم:

$ logout

 

نحوه غیرفعال‌سازی ورود با پسورد SSH

نحوه غیرفعال‌سازی ورود با پسورد SSH

به خاطر داشته باشید که کاربران کنونی را نیز می‌توان به همین ترتیب به sudo یا wheel group اضافه کرد. نیازی به ایجاد یک کاربر جدید نیست:

# usermod -aG sudo userNameHere #Debian/Ubuntu

# usermod -aG wheel userNameHere #CentOS/RHEL

گام ۳) نصب کلیدهای ssh بر روی یک سیستم ریموت

تمام فرمان‌ها می‌بایست بر روی سیستم‌های محلی اجرا شوند. برای این منظور، جفت کلید را به صورت زیر ایجاد کنید:

$ ssh-keygen -t rsa

نصب کلید عمومی در سرور ریموت:

$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]

نمونه‌های خروجی

/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/vivek/.ssh/id_rsa.pub"

/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

[email protected]'s password:

 

Number of key(s) added:        ۱

 

Now try logging into the machine, with:   "ssh '[email protected]'"

and check to make sure that only the key(s) you wanted were added.

آزمایش ورود با کلیدهای SSH

$ ssh [email protected]

نمونه‌های خروجی:

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.8.6-x86_64-linode78 x86_64)

 

* Documentation:  https://help.ubuntu.com

* Management:     https://landscape.canonical.com

* Support:        https://ubuntu.com/advantage

To run a command as administrator (user "root"), use "sudo ".

See "man sudo_root" for details.

 

[email protected]:~$

برای اجرای یک فرمان  به عنوان مدیر (کاربر روت)، از قالب “sudo {command}” استفاده کنید. به عنوان مثال:

$ sudo ls /root/

برای رفتن به حالت روت، فرمان زیر را وارد نمایید:

$ sudo -s

گام ۴) غیرفعال‌سازی ورود با پسورد SSH و کاربر روت

برای این منظور باید فایل /etc/ssh/sshd_config را ویرایش کنید. در نتیجه:

$ sudo vi /etc/ssh/sshd_config

متفیر ChallengeResponseAuthentication را پیدا کرده و مقدار no را برای آن انتخاب نمایید:

ChallengeResponseAuthentication no

مقدار PasswordAuthentication را نیز به no تغییر دهید:

PasswordAuthentication no

برای UsePAM نیز به همین ترتیب عمل کنید:

UsePAM no

برای PermitRootLogin نیز مقدار no را تنظیم کنید:

PermitRootLogin no

حالا فایل ذخیره کرده و ببندید. سپس سرور ssh را دوباره راه‌اندازی کنید:

# /etc/init.d/ssh reload

می‌توانید این کار را با فرمان زیر نیز انجام دهید:

$ sudo systemctl reload ssh

در لینوکس RHEL/CentOS امکان استفاده از فرمان زیر نیز وجود خواهد داشت:

# /etc/init.d/sshd reload

گام ۵) تأیید نهایی

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

$ ssh [email protected]

Permission denied (publickey).

حالا تلاش کنید که تنها با پسورد وارد شوید:

Try to login with password only:

$ ssh [email protected] -o PubkeyAuthentication=no

Permission denied (publickey).

جمع‌بندی

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

با ما در تماس باشید

کارشناسان ما در هر لحظه منتظر پاسخوگویی به سوالات شما هستند.

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