# آموزش گام به گام برای غیرفعال کردن رمز عبور SSH
### گام ۱: اطمینان از تنظیم احراز هویت مبتنی بر کلید
قبل از غیرفعال کردن احراز هویت رمز عبور، اطمینان حاصل کنید که احراز هویت مبتنی بر کلید را پیکربندی و عملی کردهاید. اگر احراز هویت رمز عبور را بدون داشتن روش جایگزین برای ورود غیرفعال کنید، ممکن است خودتان را از سرور قفل کنید.
1. **تولید یک جفت کلید SSH** (اگر قبلاً انجام ندادهاید):
```bash
ssh-keygen -t rsa -b 4096
```
Enter را فشار دهید تا مکان فایل پیشفرض را قبول کنید. در صورت تمایل، میتوانید یک عبارت عبور برای امنیت بیشتر تنظیم کنید.
2. **کپی کلید عمومی به سرور شما**:
- ویندوز:
```
cat $HOME\.ssh\id_rsa.pub | ssh username@your_server_ip 'cat >> ~/.ssh/authorized_keys'
```
- لینوکس و مک:
```bash
ssh-copy-id username@your_server_ip
```
`username` را با نام کاربری واقعی خود و `your_server_ip` را با آدرس IP سرور خود جایگزین کنید.
3. **آزمایش ورود مبتنی بر کلید**: سعی کنید با استفاده از کلید SSH خود وارد شوید.
```bash
ssh username@your_server_ip
```
اگر بدون درخواست برای وارد کردن رمز عبور بتوانید وارد شوید، احراز هویت مبتنی بر کلید در حال کار است.
# هشدار! اگر گام قبلی موفق نبود هرگز گام بعدی را انجام ندهید
### گام ۲: ویرایش فایل پیکربندی SSH
1. **دسترسی به فایل پیکربندی SSH**:
```bash
sudo nano /etc/ssh/sshd_config
```
میتوانید `nano` را با ویرایشگر متنی مورد علاقه خود (مانند `vi` یا `vim`) جایگزین کنید.
2. **یافتن خط برای احراز هویت رمز عبور**: به دنبال خطی باشید که میگوید `PasswordAuthentication`. ممکن است با `#` شروع شده و کامنت شده باشد در این صورت علامت `#` از اول خط حذف شود.
3. **غیرفعال کردن احراز هویت رمز عبور**: این خط را به
```bash
PasswordAuthentication no
```
تغییر دهید. اگر این خط وجود نداشت، میتوانید آن را در انتهای فایل اضافه کنید.
4. **ذخیره و خروج از ویرایشگر**: اگر از `nano` استفاده میکنید، میتوانید با فشار دادن `Ctrl + O` ذخیره کنید و با فشار دادن `Ctrl + X` خارج شوید.
### گام ۳: راهاندازی مجدد سرویس SSH
پس از ایجاد تغییرات در فایل `sshd_config`، باید سرویس SSH را برای اعمال تغییرات مجدداً راهاندازی کنید.
```bash
sudo systemctl restart sshd
```
### گام ۴: آزمایش پیکربندی
1. **آزمایش دسترسی SSH**: دوباره سعی کنید از طریق SSH وارد شوید. این بار، سرور نباید اجازه دهد که با رمز عبور وارد شوید.
```bash
ssh username@your_server_ip
```
مطمئن شوید که هنوز میتوانید با استفاده از احراز هویت مبتنی بر کلید وارد شوید.
2. **اختیاری - آزمایش از یک ماشین دیگر**: اگر امکانپذیر است، سعی کنید از یک ماشین دیگر که کلید SSH شما در آن پیکربندی نشده است، SSH کنید. سرور نباید اجازه دهد که با رمز عبور وارد شوید.
### گام ۵: اقدامات امنیتی اضافی
- در نظر داشته باشید که پورت SSH را از پورت پیشفرض (پورت ۲۲) به یک پورت غیراستاندارد تغییر دهید تا احتمال حملات خودکار کاهش یابد. [بیشتر بخوانید ...](/fa/manager/installation-and-setup/How-to-connect-to-server-via-SSH/)
- به طور منظم سرور و نرمافزار SSH خود را بهروزرسانی کنید.
- یک دیواره آتش راهاندازی کنید و دسترسی به پورتهای ضروری را محدود کنید. [بیشتر بخوانید ...](/fa/manager/basic-concepts-and-troubleshooting/How-to-setup-Firewall-on-Hiddify-panel/)
- تلاشهای ورود را کنترل کنید و سیستمهای تشخیص نفوذ را تنظیم کنید.
با دنبال کردن این مراحل، شما باید موفق شده باشید که احراز هویت رمز عبور SSH را غیرفعال کنید و امنیت سرور خود را افزایش دهید. فقط مطمئن شوید که یک روش پشتیبان (مانند احراز هویت مبتنی بر کلید) برای جلوگیری از قفل شدن بیرون از سرور دارید.