پرش به محتوا

امن‌سازی SSH و همگام‌سازی زمان با chrony در openSUSE

محل تنظیمات SSH در openSUSE را بشناسید (پیش‌فرض‌ها در /usr/etc)، ورود با کلید را اجباری کنید و منبع زمان chrony را تنظیم کنید.

openSUSE Leap 16سطح: مقدماتیبه‌روزرسانی: ۱۷ آبان ۱۴۰۵

۱. محل تنظیمات SSH

openSUSE تنظیمات پیش‌فرض بسته‌ها را در /usr/etc نگه می‌دارد و /etc فقط برای تغییرات مدیر است. فایل /usr/etc/ssh/sshd_config را ویرایش نکنید، چون با به‌روزرسانی بازنویسی می‌شود. تغییرات را در یک فایل جداگانه بگذارید:

bash
ls /usr/etc/ssh/ /etc/ssh/
sudo mkdir -p /etc/ssh/sshd_config.d

۲. ورود با کلید

از کامپیوتر خودتان کلید را کپی کنید و ورود با کلید را امتحان کنید:

bash
ssh-copy-id ali@suse01.corp.sahor.ir
ssh ali@suse01.corp.sahor.ir 'echo key login works'

بعد ورود با رمز و root را ببندید. /etc/ssh/sshd_config.d/50-hardening.conf:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
MaxAuthTries 3
LoginGraceTime 30
AllowGroups wheel

کاربر باید در گروه wheel باشد: sudo usermod -aG wheel ali.

bash
sudo sshd -t && sudo systemctl reload sshd

نشست فعلی را نبندید. در یک ترمینال دیگر ورود را آزمایش کنید.

۳. chrony

chrony در openSUSE پیش‌فرض است. منبع زمان را در یک فایل جداگانه تعریف کنید:

bash
echo "pool ir.pool.ntp.org iburst" | sudo tee /etc/chrony.d/ir-pool.conf
sudo systemctl enable --now chronyd
sudo systemctl restart chronyd
chronyc sources -v
chronyc tracking

اگر سرور DNS یا NTP داخلی دارید (مثلاً DC ویندوز)، به‌جای pool آن را بگذارید:

server dc01.corp.sahor.ir iburst

۴. منطقه‌ی زمانی

bash
sudo timedatectl set-timezone Asia/Tehran
timedatectl