میخواهم برای مدیریت یک ماشین با سیستمعامل دبیان پایدار و اتصال ssh از انسیبل (Ansible) استفاده میکنیم.
دسترسی ssh به این ماشین از گره مرکزی با کاربری به نام user و کلمهٔ عبور برقرار است.
خود این کاربر میتواند با sudo عملیات مدیریتی نظیر نصب نرمافزار را انجام دهد.
اجرا فرمان زیر با ansible برای به روزرسانی سیاههٔ بستهها با خطای دسترسی رو به رو میشود.
$ ansible -i inventory/hosts a_linux_template -m command -a "apt update"
هدف راهاندازی اولیه انسیبل است به طوری که بتواند با کاربر user عملیات مدیریتی را انجام دهد.
و اجرای فرمان بالا تنها برای بررسی امکان اجرای دستوراتی با دسترسی superuser است.
خطا
1.1.1.1 | FAILED | rc=100 >>
Reading package lists...
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)non-zero return code
گزینهٔ K- هم برای پرسیدن کلمهٔ عبور مشکل را برطرف نمیکند. کلمهٔ عبور BECOME password را وارد میکنم ولی خطا تغییری نمیکند.
محتوای inventory
[a_linux_template]
1.1.1.1 ansible_user=user ansible_ssh_private_key_file=~/.ssh/id_rsa
پرسش
چه تنظیمی دیگری باید اعمال شود که ansible بتواند با کاربر user کارهای مدیریتی را انجام دهد؟