🖧 نحوه خودکار کردن ورود به سیستم SSH در صورت نیاز به استفاده از رمز عبور

3 دقیقه

رمز عبور استاندارد را ندارد. دشوار است.

تقریباً در همه موارد، بهتر است از کلید SSH استفاده شود که در زیر نشان خواهیم داد. با استفاده از یک اسکریپت

با این حال، گذرواژه‌ها یک مزیت دارند: استفاده، به خاطر سپردن و توزیع آن‌ها در بین اعضای تیم آسان‌تر است. 13] با استفاده از SSHPass

دستور عادی ssh دارای پرچم –password نیست، بنابراین می‌توانید به راحتی این رویه را خودکار کنید. از اکثر بسته های لینوکس مدیران برای سیستم‌های مبتنی بر دبیان مانند اوبونتو، این عبارت است:

 sudo apt-get install sshpass 

اگر از sshpass در داخل یک اسکریپت استفاده می‌کنید، می‌توانید آن را مستقیماً با پرچم -p و سپس دستور SSH استاندارد خود ارسال کنید:

 sshpass -p 'password' ssh user @ remote 

با این حال، این کار به چند دلیل خوب نیست:

  • اگر خارج از فایل اسکریپت استفاده شود، رمز عبور به صورت متن واضح در تاریخچه فرمان لینوکس و سایر سیستم ها نشان داده می شود. . ممکن است سایر کاربران لینوکس آن را ببینند. رمز عبور باید در یک فایل ذخیره شود

    حتما حقوق آن را تنظیم کنید تا در دسترس سایر کاربران نباشد.
    chmod 600 password_file

    سپس با گزینه -f این را به sshpass منتقل کنید:

     sshpass -f password_file ssh user @ remote 

    به جای

    کلیدهای SSH را به جای [19659014ترجیحدادهمی‌شوند] 69 کلید SSH روی 6 کلید، تنظیم کنید. آنها بسیار طولانی تر و سخت تر هستند که به طور تصادفی نشت پیدا کنند، و آنها را برای امنیت ایده آل می کند. ~ / .ssh / id_rsa.pub، که برای همه درخواست ها استفاده می کند.

    ایجاد یک فایل کلید جدید بسیار آسان است:

     ssh-keygen 

    باید آن را به ~ / .ssh اضافه کنید. فایل / authorized_keys روی سروری که می‌خواهید به آن متصل شوید.

    یک دستور SSH داخلی وجود دارد که می‌تواند به راحتی این کار را برای شما انجام دهد:

     ssh-copy-id -i ~ / .ssh / id_rsa.pub user @ host 

    سپس رمز عبور دیگر درخواست نمی شود.

    می توانید ایمیل را کپی کنید این کلید برای ماشین‌های دیگر، اما معمولاً فقط اضافه کردن چند کلید کافی است.

    همچنین ببینید: