Sshpass: أداة ممتازة لتسجيل الدخول إلى SSH غير التفاعلي

instagram story viewer

في معظم الحالات ، يقوم مسؤولو نظام Linux بتسجيل الدخول إلى خوادم Linux البعيدة باستخدام SSH إما عن طريق توفير كلمة مرور ، أو تسجيل الدخول بدون كلمة مرور SSH، أو مصادقة SSH القائمة على المفاتيح.

ماذا لو كنت تريد توفير ملف كلمه السر مع اسم االمستخدم إلى SSH تدفع نفسها؟ هذا هو المكان sshpass يأتي للإنقاذ.

sshpass هي أداة سطر أوامر بسيطة وخفيفة الوزن تمكننا من توفير كلمة مرور (كلمة مرور غير تفاعلية المصادقة) إلى موجه الأوامر نفسه ، بحيث يمكن تنفيذ البرامج النصية للقشرة الآلية لأخذ نسخ احتياطية عبر جدولة كرون.

يستخدم ssh وصولاً مباشرًا لـ TTY للتأكد من أن مستخدم لوحة المفاتيح التفاعلي مزودًا بكلمة المرور بالفعل. يقوم Sshpass بتشغيل ssh في tty مخصص ، ويضللها للاعتقاد بأنه يتلقى كلمة المرور من مستخدم تفاعلي.

مهم: استخدام sshpass تعتبر الأقل أمانًا ، حيث إنها تكشف كلمة المرور لجميع مستخدمي النظام على سطر الأوامر بكل بساطة "ملاحظة" قيادة. أوصي بشدة باستخدام مصادقة SSH بدون كلمة مرور.

قم بتثبيت sshpass على أنظمة Linux

في RedHat / CentOS الأنظمة القائمة ، تحتاج أولاً إلى تمكين مستودع Epel على نظامك لتثبيته باستخدام أمر yum كما هو مبين.

# yum تثبيت sshpass. # dnf تثبيت sshpass [تشغيل فيدورا 22+ إصدارات]

على Debian / Ubuntu ومشتقاته ، يمكنك تثبيته باستخدام ملفات الأمر apt-get كما هو مبين.

sudo apt-get install sshpass. 

بدلاً من ذلك ، يمكنك التثبيت من المصدر للحصول على أحدث إصدار من sshpass، قم أولاً بتنزيل الكود المصدري ثم قم باستخراج محتويات ملف tar وقم بتثبيته على النحو التالي:

$ wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz. tar -xvf $ sshpass.tar.gz. $ cd sshpass-1.06. $ ./ تكوين. # sudo قم بالتثبيت 

كيفية استخدام sshpass في Linux

sshpass يستخدم مع ssh، يمكنك عرض جميع ملفات sshpass خيارات الاستخدام مع الأوصاف الكاملة عن طريق إصدار الأمر أدناه:

$ sshpass -h. 

تعليمات sshpass

الاستخدام: sshpass [-f | -d | -p | -e] [-hV] معلمات الأوامر -f filename خذ كلمة المرور لاستخدامها من الملف -d number استخدم الرقم كواصف للملف للحصول على كلمة المرور -p password توفير كلمة المرور كوسيطة (الأمان غير حكيم) - يتم تمرير كلمة المرور كـ env-var "SSHPASS" بدون معلمات - سيتم أخذ كلمة المرور من stdin -h Show help (هذه الشاشة) -V Print version معلومة. يجب استخدام واحد على الأكثر من -f أو -d أو -p أو -e. 

كما ذكرت من قبل ، sshpass أكثر موثوقية وفائدة لأغراض البرمجة النصية ، ضع في اعتبارك أمثلة الأوامر أدناه.

قم بتسجيل الدخول إلى خادم Linux ssh البعيد (10.42.0.1) باستخدام اسم المستخدم وكلمة المرور و تحقق من استخدام قرص نظام الملفات من النظام البعيد كما هو موضح.

$ sshpass -p "my_pass_here" ssh [البريد الإلكتروني محمي] "df -h" 

مهم: هنا ، يتم توفير كلمة المرور في سطر الأوامر وهو غير آمن عمليًا ولا يوصى باستخدام هذا الخيار.

sshpass - تسجيل الدخول عن بُعد إلى Linux عبر SSH
sshpass - تسجيل الدخول عن بُعد إلى Linux عبر SSH

ومع ذلك ، لمنع إظهار كلمة المرور على الشاشة ، يمكنك استخدام ملف -e ضع علامة وأدخل كلمة المرور كقيمة لـ SSHPASS متغير البيئة على النحو التالي:

تصدير $ SSHPASS ="my_pass_here"
$ صدى $ SSHPASS. $ sshpass -e ssh [البريد الإلكتروني محمي] "df -h" 
؛ sshpass - إخفاء كلمة المرور في موجه
؛ sshpass - إخفاء كلمة المرور في موجه

ملحوظة: في المثال أعلاه ، SSHPASS متغير البيئة هو لغرض مؤقت فقط وستتم إزالته أثناء إعادة التشغيل.

لتعيين ملف SSHPASS متغير البيئة ، افتح ملف /etc/profile ملف واكتب بيان التصدير في بداية الملف:

تصدير SSHPASS ="my_pass_here"

احفظ الملف واخرج ، ثم قم بتشغيل الأمر أدناه لإحداث التغييرات:

مصدر $ / etc / profile 

من ناحية أخرى ، يمكنك أيضًا استخدام ملف -F علم ووضع كلمة المرور في ملف. بهذه الطريقة يمكنك قراءة كلمة المرور من الملف على النحو التالي:

$ sshpass -f password_filename ssh [البريد الإلكتروني محمي] "df -h"
sshpass - توريد ملف كلمة المرور لتسجيل الدخول
sshpass - توريد ملف كلمة المرور لتسجيل الدخول

يمكنك أيضًا استخدام sshpass إلى نقل الملفات باستخدام scp أو ملفات النسخ الاحتياطي / المزامنة عبر rsync باستخدام SSH كما هو موضح:

 نقل الملفات باستخدام SCP  $ scp -r /var/www/html/example.com --rsh = "sshpass -p "my_pass_here" ssh -l aaronkilik "10.42.0.1:/var/www/html  النسخ الاحتياطي أو مزامنة الملفات باستخدام Rsync 
$ rsync --rsh = "sshpass -p "my_pass_here" ssh -l aaronkilik "10.42.0.1:/data/backup/ / backup /

لمزيد من الاستخدام ، أقترح عليك قراءة ملف sshpass صفحة الدليل ، اكتب:

$ رجل sshpass. 

في هذه المقالة ، أوضحنا sshpass أداة بسيطة تتيح مصادقة كلمة المرور غير التفاعلية. على الرغم من أن هذه الأدوات قد تكون مفيدة ، إلا أنه يوصى بشدة باستخدام آلية مصادقة المفتاح العام الأكثر أمانًا في ssh.

من فضلك ، اترك سؤالاً أو تعليقًا عبر قسم التعليقات أدناه لمزيد من المناقشات.

Teachs.ru