تسجيل الدخول لـ SFTP على لينوكس بمفتاح عام دون كلمة مرور
تعتبر إدارة السيرفرات والاتصال بها عبر بروتوكولات آمنة من المهارات الأساسية في عالم تكنولوجيا المعلومات، خصوصًا عند التعامل مع نظام التشغيل Linux. يسعى العديد من مستخدمي Linux إلى تبسيط عملية الاتصال بالسيرفرات المختلفة، مثل خادم SFTP المحلي، دون الحاجة إلى إدخال كلمات المرور في كل مرة. سنستعرض في هذا المقال كيفية تسجيل الدخول إلى نظام Linux كمستخدم معين، ثم استخدامه للاتصال بخادم SFTP محلي مستخدمًا آخر، وذلك باستخدام المفاتيح العامة والخاصة بدون كلمة مرور.
ما هو SFTP وكيف يعمل؟
SFTP (SSH File Transfer Protocol) هو بروتوكول نقل الملفات عبر SSH، يسمح بنقل الملفات بشكل آمن بين الأنظمة. يستخدم SFTP عادةً كبديل آمن لبروتوكول FTP التقليدي، حيث يوفر تشفيرًا للبيانات المرسلة والمستلمة.
خطوات إعداد الاتصال باستخدام المفاتيح العامة والخاصة
للبدء، يجب التأكد من أن لديك مستخدمين مختلفين على نفس النظام. في هذه الحالة، سنستخدم userA
كمستخدم تسجيل الدخول الرئيسي، وsftp_user
كمستخدم للوصول إلى خادم SFTP. عليك اتباع الخطوات التالية لتحقيق الاتصال:
-
إنشاء مفتاح SSH: عند تسجيل الدخول كمستخدم
userA
، يمكن إنشاء مفتاح SSH باستخدام الأمر:ssh-keygen -t rsa
سيؤدي هذا إلى إنشاء زوج من مفاتيح SSH، المفتاح الخاص
id_rsa
والمفتاح العامid_rsa.pub
. -
نسخ المفتاح العام: بعد إنشاء المفتاح، تحتاج إلى نسخ محتويات
id_rsa.pub
إلى ملفauthorized_keys
الخاص بمستخدمsftp_user
. يمكن القيام بذلك باستخدام الأمر التالي بعد التأكد من أن المجلد.ssh
موجود في الدليل الرئيسي لمستخدمsftp_user
:cat ~/.ssh/id_rsa.pub | ssh sftp_user@localhost 'cat >> ~/.ssh/authorized_keys'
-
ضبط الأذونات: تأكد من أن الأذونات للمجلدات والملفات صحيحة:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- اختبار الاتصال: يمكنك الآن محاولة الاتصال بخادم SFTP كمستخدم
sftp_user
باستخدام الأمر:sftp sftp_user@localhost
ينبغي أن يتم الاتصال دون الحاجة إلى إدخال كلمة مرور، مشيرًا إلى أن عملية إعداد المفاتيح العامة والخاصة تمت بنجاح.
التحديات والحلول
واحدة من التحديات التي يمكن أن تواجهها أثناء هذا النوع من الإعدادات هو التأكد من أن المستخدم sftp_user
قد تم إعداده بشكل صحيح كاستخدام SFTP. يجب التحقق من أن مجموعة sftp
تم إعدادها بشكل صحيح، ومن أن أذونات الوصول إلى الملفات والمجلدات مناسبة.
إذا واجهت أي مشاكل خلال الاتصال، تأكد من التحقق من سجلات الأخطاء باستخدام الأمر:
tail -f /var/log/syslog
هذا يمكن أن يمنحك فكرة واضحة عن السبب وراء عدم نجاح الاتصال.
خاتمة
القدرة على تسجيل الدخول إلى نظام Linux كمستخدم معين ثم الاتصال بخادم SFTP محلي كمستخدم آخر باستخدام المفاتيح العامة والخاصة بدون كلمة مرور هي مهارة قيمة. من خلال اتباع الخطوات الموضحة، يمكنك تأمين اتصالاتك السلكية وتقليل مشكلات الأمان المرتبطة بكلمات المرور. تذكر أن الحفاظ على أمان النظام هو عملية مستمرة، ومن المهم تحديث المفاتيح عند الضرورة.
بذلك، نكون قد قدمنا لك فكرة شاملة حول 22.04 – sftp is it possible to login linux as userA, then connect to sftp server in same machine as user sftp_user, using public/private key without password، بالإضافة إلى خطوات عملية لضمان إعداد اتصال آمن وسلس.