প্রশ্ন আমি কিভাবে নিরাপদভাবে প্রতি হোস্ট পাসওয়ার্ড সহ উত্তরযোগ্য বাস্তবায়ন করতে পারি?


আমি ব্যবহার করতে চাই ansible বিদ্যমান সার্ভারের একটি গ্রুপ পরিচালনা করতে। আমি একটি তৈরি করেছেন ansible_hosts ফাইল, এবং সফলভাবে পরীক্ষা (সঙ্গে -K বিকল্প) শুধুমাত্র একটি একক হোস্ট লক্ষ্য যে কমান্ড

ansible -i ansible_hosts host1 --sudo -K # + commands ...

আমার সমস্যা এখন প্রতিটি হোস্ট ব্যবহারকারীর পাসওয়ার্ড ভিন্ন, কিন্তু আমি আনসেবেলে এটি পরিচালনা করার উপায় খুঁজে পাচ্ছি না।

ব্যবহার -K, আমি কেবলমাত্র একটি একক সুডো পাসওয়ার্ড আপ-ফ্রন্টের জন্য অনুরোধ করেছি, যা পরে পরবর্তী হোস্টগুলির জন্য প্রম্পট ছাড়াই চেষ্টা করা হচ্ছে বলে মনে হচ্ছে:

host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password

গবেষণা এতদূর:

  • একটি স্ট্যাকঅভারফ্লো প্রশ্ন এক ভুল উত্তর দিয়ে ("ব্যবহার করুন -K") এবং লেখক দ্বারা একটি প্রতিক্রিয়া বলছে" খুঁজে পাওয়া গেছে আমি পাসওয়ার্ডহীন sudo প্রয়োজন "

  • আনুষ্ঠানিক ডক্স, যা বলে "পাসওয়ার্ডহীন সুডোর ব্যবহার স্বয়ংক্রিয়ভাবে জিনিসগুলিকে সহজ করে তোলে, কিন্তু এটা প্রয়োজন হয় না"(জোর খনি)

  • এই নিরাপত্তা স্ট্যাক এক্সচেঞ্জ প্রশ্ন যে পড়তে হিসাবে যা লাগে NOPASSWD দরকার

  • প্রবন্ধ "স্কেলেবল এবং বোঝার যোগ্য ব্যবস্থা ..." যা বলে:

    "চলমান সুডোতে পাসওয়ার্ড টাইপ করার প্রয়োজন হতে পারে, যা চিরতরে অবিচ্ছিন্নভাবে অবরোধ করার একটি নিশ্চিত উপায়। লক্ষ্যমাত্রা হোস্টে ভিসুডো চালানোর জন্য একটি সহজ সমাধান, এবং নিশ্চিত করুন যে ব্যবহারকারী অ্যাক্সেসযোগ্য লগইন করতে ব্যবহার করবে সেটি পাসওয়ার্ড টাইপ করতে হবে না"

  • প্রবন্ধ "বেসিক আনসেল প্লেবুক", যা বলে

    "অসত্যযোগ্য টার্গেট সার্ভারে রুট হিসেবে লগ ইন করতে পারে এবং সুডোর প্রয়োজন এড়াতে পারে, বা উত্তর ব্যবহারকারীর পাসওয়ার্ড ছাড়া সুডো থাকতে পারে, তবে আমার স্প্লিনকে আমার গ্লিটটি ল্যাপটপ এবং আমার উইন্ডপাইপ ব্লক করতে হুমকি দেয়। না "

    আমার চিন্তা ঠিক, কিন্তু তারপর কিভাবে একটি সার্ভার অতিক্রম প্রসারিত?

  • উত্তরদায় # 1227, "আনুষ্ঠানিকভাবে একটি প্লেবুকের সকল ব্যবহারকারীদের জন্য সুডো পাসওয়ার্ড চাওয়া উচিত", যা এক বছর আগে এমপিডিহান মন্তব্যটি বন্ধ করে দিয়েছিল "এইটির জন্য অনেক বেশি চাহিদা না দেখে আমি মনে করি বেশিরভাগ লোকই শুধুমাত্র এক ব্যবহারকারীর অ্যাকাউন্ট থেকে বা অপব্যবহার করছে অধিকাংশ সময় কি। "

সুতরাং ... এই ধরনের পরিস্থিতিতে মানুষ কিভাবে অনুমান ব্যবহার করে? বিন্যাস NOPASSWD মধ্যে /etc/sudoers, হোস্ট জুড়ে পাসওয়ার্ড পুনঃব্যবহার করা বা রুট এসএসএইচ লগইন সক্ষম করা সমস্ত নিরাপত্তা বরং কঠোর কমানো বলে মনে হয়।


99
2017-12-09 11:49


উত্স


আপনি এসএসএইচ কী ব্যবহার করছেন না একটি কারণ আছে? - Trondh
আমি ইতিমধ্যে এসএসএইচ কী ব্যবহার করছি; তারা প্রভাবিত করে না sudo (যা এখনও একটি পাসওয়ার্ড প্রয়োজন)। - supervacuo
এটি আপনি যা খুঁজছেন তা ঠিক নাও হতে পারে, কিন্তু উবুন্টু বক্সগুলিতে আমি এখনও কীগুলি ব্যবহার করি, যেমন, আমার সার্বজনিক কীটিকে রুট হিসাবে সরাসরি পেতে / root / authorized_keys এ রাখুন। স্পষ্ট ত্রুটিটি ssh এর উপর রুট লগইনগুলিকে অনুমতি দেয় ... আমি ssh এর উপর পাসওয়ার্ড লগইনগুলিকেও অকার্যকর করে এবং অতিরিক্ত নিরাপত্তা জন্য fail2ban চালান। - senorsmile
@ এসসোর্সমিলে প্রতিক্রিয়ার জন্য ধন্যবাদ! পরিবর্তে এটি উত্তর দেওয়ার জন্য আপনি কি মনে করেন তাই আমি প্রশ্নটি পড়ার জন্য আপনাকে কমিয়ে আনতে পারি? - supervacuo
অর্থাত দ্য ansible_ssh_password সেটিং শুধুমাত্র এসএসএইচ পাসওয়ার্ডে প্রযোজ্য (সুতা নামের মধ্যে ...)। এবং আমি ইতিমধ্যে কী-ভিত্তিক SSH লগইন ব্যবহার করছি। - supervacuo


উত্তর:


আপনি অবশ্যই আপনার গবেষণা করেছেন ...

আপনি যা অর্জন করতে চান তা উত্তর সহ আমার সমস্ত অভিজ্ঞতা থেকে, সমর্থিত নয়। আপনি যেমন উল্লেখ করেছেন, উত্তরদায়টি বলে যে এটি পাসওয়ার্ডহীন সুডোর প্রয়োজন নেই এবং আপনি সঠিক, এটি নয়। কিন্তু আমি এখনও একাধিক কনফিগারেশন চালানো ছাড়া, একযোগে একাধিক sudo পাসওয়ার্ড ব্যবহার করার কোনো পদ্ধতি দেখতে আছে।

সুতরাং, আমি যে সঠিক সমাধানটি খুঁজছেন তা আমি সরবরাহ করতে পারছি না, কিন্তু আপনি জিজ্ঞাসা করেছেন ...

"তাই ... মানুষ এই ধরনের পরিস্থিতির মধ্যে অনুমান ব্যবহার করে কিভাবে? সেটিং   NOPASSWD / etc / sudoers, হোস্ট জুড়ে পাসওয়ার্ড পুনঃব্যবহার করা বা সক্ষম করা   রুট এসএসএইচ লগইন সব নিরাপত্তা বরং কঠোর কমানো বলে মনে হয়। "

আমি আপনাকে যে এক দৃশ্য দিতে পারেন। আমার ব্যবহার ক্ষেত্রে একাধিক ডেটা সেন্টারে 1k নোডস রয়েছে যা বিশ্বব্যাপী SaaS দৃঢ়কে সমর্থন করে, যাতে আমার ব্যবসায়ের প্রকৃতির কারণে কিছু দুর্দান্তভাবে শক্ত সুরক্ষা নিয়ন্ত্রণগুলি বাস্তবায়ন / বাস্তবায়ন করতে হয়। নিরাপত্তা সবসময় ভারসাম্য বজায় রাখা, আরো ব্যবহারযোগ্যতা কম নিরাপত্তা, আপনি যদি 10 সার্ভার বা 1,000 বা 100,000 চালাচ্ছেন তবে এই প্রক্রিয়াটি ভিন্ন নয়।

আপনি পাসওয়ার্ড বা ssh কীগুলির মাধ্যমে রুট লগইনগুলি ব্যবহার না করে একেবারে সঠিক। প্রকৃতপক্ষে, যদি সার্ভারগুলির মধ্যে একটি নেটওয়ার্ক তারের প্লাগযুক্ত থাকে তবে রুট লগইনটি সম্পূর্ণরূপে অক্ষম হওয়া উচিত।

একটি বড় এন্টারপ্রাইজে পাসওয়ার্ড পুনঃব্যবহার সম্পর্কে কথা বলা যাক, প্রতিটি নোডের উপর বিভিন্ন পাসওয়ার্ডের জন্য সিএসডামিনসকে জিজ্ঞাসা করা যুক্তিযুক্ত? সম্ভবত কয়েকটি নোডের জন্য, তবে আমার প্রশাসক / প্রকৌশলী যদি 1000 নোডের উপর বিভিন্ন পাসওয়ার্ড থাকে তবে বিদ্রোহ করবে। পাশাপাশি এটি অসম্ভব কাছাকাছি বাস্তবায়ন করা হবে, প্রতিটি ব্যবহারকারীর কাছে নিজের পাসওয়ার্ডগুলি কোথাও সংরক্ষণ করতে হবে, আশা করি একটি কীপাস, একটি স্প্রেডশীট নয়। এবং প্রতিবার যখন আপনি কোনও জায়গায় এমন একটি পাসওয়ার্ড রাখেন যেখানে এটি প্লেইন টেক্সটে টেনে আনা যায়, আপনি আপনার সুরক্ষাটি হ্রাস করেছেন। আমি তাদের চেয়ে অনেক বেশি জানতে চাই, হৃদয় দ্বারা, এক বা দুটি সত্যিকারের শক্তিশালী পাসওয়ার্ড যা প্রতিটি মেশিনে লগ ইন করার জন্য বা কোনও মেশিনে সুডো করার প্রয়োজন হলে একটি কীপাস ফাইলের সাথে পরামর্শ করতে হবে।

সুতরাং পাসওয়ার্ড পুনঃব্যবহার এবং মানানসই এমন কিছু যা নিরাপদ পরিবেশে সম্পূর্ণরূপে গ্রহণযোগ্য এবং মানক। অন্যথায় ldap, keystone, এবং অন্যান্য ডিরেক্টরি পরিষেবাদি অস্তিত্ব প্রয়োজন হবে না।

যখন আমরা স্বয়ংক্রিয় ব্যবহারকারীদের কাছে চলে যাই, এসএস কীগুলি আপনাকে পেতে দুর্দান্ত কাজ করে, তবে আপনাকে এখনও সুডোর মধ্য দিয়ে যেতে হবে। আপনার পছন্দগুলি স্বয়ংক্রিয় ব্যবহারকারীর জন্য একটি মানযুক্ত পাসওয়ার্ড (যা অনেক ক্ষেত্রে গ্রহণযোগ্য) অথবা NOPASSWD সক্ষম হিসাবে আপনি নির্দিষ্ট করেছেন। বেশিরভাগ স্বয়ংক্রিয় ব্যবহারকারী শুধুমাত্র কয়েকটি কমান্ড চালায়, তাই এটি NOPASSWD সক্ষম করার পক্ষে খুবই সম্ভব এবং অবশ্যই পছন্দসই, তবে শুধুমাত্র প্রাক অনুমোদিত অনুমতিগুলির জন্য। আপনার সুডোয়ার ফাইল পরিচালনা করতে আপনার কনফিগারেশন পরিচালনার (এই ক্ষেত্রে উত্তরযোগ্য) ব্যবহার করার পরামর্শ দেব যাতে আপনি সহজেই পাসওয়ার্ড-কম কমান্ড তালিকা আপডেট করতে পারেন।

এখন, আপনি ঝুঁকি বিচ্ছিন্ন করার জন্য স্কেলিং শুরু করার পরে কয়েকটি পদক্ষেপ নিতে পারেন। যদিও আমাদের 1000 বা তার বেশি নোড রয়েছে, তবে তাদের সবই 'উত্পাদন' সার্ভার নয়, কিছু পরীক্ষামূলক পরিবেশ, ইত্যাদি। সমস্ত প্রশাসক তাদের সার্ভার ব্যবহারকারী / পাস | কী ব্যবহার করতে পারে এমন তুলনায় উত্পাদন সার্ভার অ্যাক্সেস করতে পারে না । তবে স্বয়ংক্রিয় ব্যবহারকারীরা একটু বেশি নিরাপদ, উদাহরণস্বরূপ অ-উত্পাদন প্রশাসক অ্যাক্সেস করতে পারেন এমন একটি স্বয়ংক্রিয় সরঞ্জাম যা একটি ব্যবহারকারী এবং শংসাপত্র যা উত্পাদনতে ব্যবহার করা যাবে না। যদি আপনি সমস্ত নোডের উপর উত্তরযোগ্য সূচনা করতে চান তবে একবারে এটি অ-উত্পাদন এবং একবার উত্পাদনের জন্য দুটি ব্যাচগুলিতে করতে হবে।

আমরা পুতুল ব্যবহার করি, যদিও এটি একটি কার্যকর কনফিগারেশন পরিচালনার সরঞ্জাম, তাই সমস্ত পরিবেশে সর্বাধিক পরিবর্তনগুলি এটির মাধ্যমে ধাক্কা পেল।

স্পষ্টতই, যদি আপনি যে বৈশিষ্ট্যের অনুরোধটি উদ্ধৃত করেছেন তা পুনরায় খোলা / সম্পন্ন হয় তবে আপনি যা করতে চান তা সম্পূর্ণরূপে সমর্থিত হবে। এমনকি তারপরও, নিরাপত্তা ঝুঁকি মূল্যায়ন এবং আপোষ একটি প্রক্রিয়া। আপনার যদি শুধুমাত্র কয়েকটি নোড থাকে যা আপনি পাসওয়ার্ডটি মনে রাখতে পারেন তবে পোস্ট-নোটটি ব্যবহার না করেই পৃথক পাসওয়ার্ডগুলি একটু বেশি সুরক্ষিত হবে। কিন্তু আমাদের অধিকাংশের জন্য, এটি একটি সম্ভাব্য বিকল্প নয়।


52
2017-12-30 16:53



ধন্যবাদ, @ জাবেব - আমি কল্পনা করেছি যে ব্যবহারকারীরা কয়েক ডজন সার্ভার ব্যবহার করবে NOPASSWD স্যানিটি কারণে যাই হোক না কেন (সম্ভবত টাইটার ফায়ারওয়াল নিয়ম দ্বারা সমর্থিত প্রভৃতি), তবে হুমকি মডেলের ক্ষেত্রে আপনার ব্যবহারের ক্ষেত্রে এবং চিন্তাগুলি পড়তে ভাল। - supervacuo
একটি মন্তব্য, "প্রাক অনুমোদিত" সীমাবদ্ধতা সম্পর্কে আপনার পরামর্শ উপর, যদিও, sudo কমান্ড (যা আমি আবিষ্কার করেছিলাম যখন এটি ঘটেছিল NOPASSWD অনেক প্রয়োজন হয়)। দুর্ভাগ্যবশত, এই মনে হয় পাশাপাশি সম্পূর্ণরূপে অসমর্থিত - জবাবদিহিতা কলিং সম্পর্কে কোন প্রতিশ্রুতি তোলে উদাহরণস্বরূপ  chown অথবা mkdir বাইনারি সরাসরি, এবং সক্ষম হতে হবে sudo /bin/sh সবচেয়ে মডিউল কাজ করার জন্য। - supervacuo
আমি আমার প্রকৌশলীদের এক যে ফিরে সম্পর্কে অভিযোগ প্রত্যাহার বলে মনে হচ্ছে, যে বিরক্তিকর। - Zeb


আনসইবল 1.5 থেকে, এটি ব্যবহার করা সম্ভব এনক্রিপ্ট ভল্ট host_vars এবং অন্যান্য ভেরিয়েবল জন্য। এটি অন্তত একটি প্রতি-হোস্ট (বা প্রতি-গোষ্ঠী) সংরক্ষণ করতে সক্ষম করে ansible_sudo_passনিরাপদ পরিবর্তনশীল। দুর্ভাগ্যবশত, --ask-vault-pass শুধুমাত্র প্রতিফলিত অনুরোধ প্রতি একক ভল্ট পাসওয়ার্ডের জন্য প্রম্পট করবে, তাই আপনি এখনও যে সমস্ত হোস্টগুলি ব্যবহার করবেন সেগুলির জন্য আপনি একক ভল্ট পাসওয়ার্ডের জন্য সীমাবদ্ধ।

যাইহোক, কিছু ব্যবহারের জন্য এটি একাধিক হোস্ট জুড়ে একটি একক সুডো পাসওয়ার্ড থাকার উন্নতি হতে পারে, কারণ আপনার এনক্রিপ্ট করা হোস্ট_ভারগুলিতে অ্যাক্সেস না করে আক্রমণকারীকে এখনও প্রতিটি মেশিন (বা মেশিন গ্রুপ) এর জন্য একটি পৃথক সুডো পাসওয়ার্ড প্রয়োজন হবে যা সে আক্রমণ করে।


36
2018-05-10 20:32



দ্য ansible_sudo_pass বিকল্প নতুন, মনে হয় - এবং আমি কি জিজ্ঞাসা ছিল তা মনে হয়। একটি একক ভল্ট পাসওয়ার্ড পাশাপাশি আমার উদ্দেশ্য জন্য আদর্শ। ধন্যবাদ! - supervacuo
এনক্রিপ্টিং এড়ানো একটি উপায় আছে সব  host_vars এই পদ্ধতি ব্যবহার করে? (অ্যালেক্স ডুপিউ দ্বারা উল্লেখযোগ্য একটি সম্ভাব্য সীমাবদ্ধতা) - supervacuo
@supervacuo - সমস্ত হোস্ট ভার্চুয়াল এনক্রিপ্ট করা এড়াতে, শুধুমাত্র একটি হোস্ট ওয়ার ডিরেক্টরি ব্যবহার করুন যা main.yml (এনক্রিপ্টেড) এবং secret.yml (এনক্রিপ্টেড) রয়েছে - এর শেষ অংশটি দেখুন এই ডক অধ্যায় যেখানে এটি "রালেই" গ্রুপ সম্পর্কে আলোচনা করে - একই কৌশল হোস্ট ওয়ার এবং গ্রুপ ওয়ারগুলির জন্য কাজ করে। আমি এটি অনেক ব্যবহার করি, কেবলমাত্র বৈচিত্র্যই হল যে যদি কিছু গোপনীয়তা শুধুমাত্র কিছু প্লেবক্সের জন্য প্রয়োজন হয় তবে এটি সম্পূর্ণভাবে একটি ভিন্ন গাছের মধ্যে সংরক্ষণ করার জন্য উপযোগী হতে পারে এবং হোস্ট বা var নাম অন্তর্ভুক্ত করে এমন একটি পথের মাধ্যমে অন্তর্ভুক্ত করতে পারে। - RichVel
যদি আমি ভল্টে 'ansible_ssh_pass' মান এনক্রিপ্ট করেছি, তাই আমাকে 'ansible_sudo_pass' মানটি সদৃশ করতে হবে? প্রথম ssh_pass 'মানটি পুনরায় বোঝানোর জন্য দ্বিতীয় sudo_pass মানের জন্য কোন উপায় আছে? - emeraldjava


অনুমান 1.5 সঙ্গে, সেট করা সম্ভব ansible_sudo_pass পরিবর্তনশীল ব্যবহার করে lookup('password', …):

ansible_sudo_pass: "{{ lookup('password', 'passwords/' + inventory_hostname) }}"

আমি ফাইল ব্যবহার করার চেয়ে এই সুবিধাজনক খুঁজে host_vars/ বিভিন্ন কারণে:

  • আমি আসলে ব্যবহার with_password: "passwords/{{ inventory_hostname}} encrypt=sha256_crypt" জন্য পাসওয়ার্ড বিধান স্থাপন দূরবর্তী ব্যবহারকারী (যা তারপর জন্য প্রয়োজন হয় উবুন্টু), তাই তারা ইতিমধ্যে ফাইল উপস্থিত (যদিও এই প্লেইনটেক্স সন্ধানগুলি লবণ মান হারায় হ্যাশেড মান উত্পন্ন হয় যখন ফাইল সঞ্চিত)।

  • এই ফাইল শুধুমাত্র পাসওয়ার্ড রাখে (না ansible_sudo_pass: পরিচিত প্লেইনটেক্সট) ক্রিপ্টোগ্রাফিক নিরাপত্তা কিছু epsilon বৃদ্ধি জন্য। আরো উল্লেখযোগ্যভাবে, এর অর্থ হল আপনি অন্যান্য সমস্ত হোস্ট-নির্দিষ্ট ভেরিয়েবল এনক্রিপ্ট করছেন না, তাই তারা ভল্ট পাসওয়ার্ড ছাড়া পড়া যাবে।

  • একটি পৃথক ডিরেক্টরিতে পাসওয়ার্ডগুলি সরিয়ে ফেলা, ফাইলগুলিকে উৎস নিয়ন্ত্রণের বাইরে রাখা বা এটির মতো একটি সরঞ্জাম ব্যবহার করা সহজ করে Git-সমাধিগৃহ এনক্রিপ্ট করা ফর্মগুলিতে সেগুলি সংরক্ষণ করতে (আপনি ভ্যাল্টের বৈশিষ্ট্যটির অভাবের সাথে পূর্বে ব্যবহারযোগ্য এটি ব্যবহার করতে পারেন)। আমি জিট-ক্রিপ্ট ব্যবহার করি এবং এনক্রিপ্টকৃত ফাইল সিস্টেমে ডিক্রিপ্টেড ফর্মের মধ্যে কেবলমাত্র রিপোজিটরিটি পরীক্ষা করে দেখি, আমি ভল্টের সাথে বিরক্ত হচ্ছি না এবং এইভাবে ভল্ট পাসওয়ার্ড টাইপ করার দরকার নেই। (অবশ্যই উভয় অবশ্যই আরো নিরাপদ হতে হবে।)

আপনি ব্যবহার করতে পারেন খুঁজে দেখো সঙ্গে কাজ ansible_ssh_pass; এটি এমনকি অসম্ভবের আগের সংস্করণের সাথেও সম্ভব নয় ansible_sudo_pass


22
2018-05-26 19:33



আমি পরিশেষে এই চেষ্টা করার জন্য কাছাকাছি পেয়েছিলাম (ধন্যবাদ!), কিন্তু এটা ছাড়া কাজ করবে কিভাবে দেখতে পারেন না git-crypt; যতটা আমি দেখতে পারেন. এটা অনুমান মত মনে হয় এখনো সমর্থন আছে না ব্যবহারের জন্য lookup একটি এনক্রিপ্ট ভল্ট উপর। দ্য password মডিউল ডক্স এনক্রিপ্ট হওয়া স্টোরেজের জন্য এখনো অন-ডকুমেন্টেড সমর্থন রয়েছে বলে বলুন, তবে আমি এখনও বিশদ খুঁজে পাচ্ছি না। কোন সংকেত সনাক্ত করুন? - supervacuo


ব্যবহার পাস sudo পাসওয়ার্ড দিয়ে উত্তর প্রদান করার জন্য একটি সহজ পদ্ধতি। ফাইল প্রতি এক পাসওয়ার্ড সঞ্চয় পাস যা জিট বা অন্যান্য পদ্ধতির মাধ্যমে পাসওয়ার্ড ভাগ করা সহজ করে তোলে। এটি নিরাপদ (GnuPG ব্যবহার করে) এবং যদি আপনি gpg-এজেন্ট ব্যবহার করেন তবে এটি প্রতিটি ব্যবহারের জন্য পাসওয়ার্ড প্রবেশ না করে আপনি উত্তরযোগ্য ব্যবহার করতে পারবেন।

হিসাবে সংরক্ষণ পাসওয়ার্ড প্রদান করতে servers/foo সার্ভারের জন্য foo উত্তর দেওয়ার জন্য, এটির মতো একটি জায় ফাইলে এটি ব্যবহার করুন:

[servers]
foo ansible_sudo=True \
    ansible_sudo_pass="{{ lookup('pipe', 'pass servers/foo') }}"

Gpg-এজেন্টের জন্য আপনি কি চাবিটি আনলক করেছেন তা দেওয়া হলে, এটি কোনো পাসওয়ার্ড প্রবেশ করার প্রয়োজন ছাড়াই অ্যাক্সেসযোগ্য হবে।


19
2018-01-19 19:51



যেমন একটি চমৎকার সমাধান - আপনাকে ধন্যবাদ! - Leng


এটি একটি পুরানো থ্রেড, তবুও:

  • আমরা দুটি পৃথক প্রমাণীকরণ সিস্টেম ইন-হাউস ব্যবহার করি, মেশিনের ব্যবস্থাপনা আমার টিমের স্থানীয় ওয়ার্কস্টেশন থেকে করা হয়।
  • আমি একটি লিখেছেন vars_plugin আনুষ্ঠানিক জন্য (বরং একটি সম্পূর্ণ বাস্তবায়ন পাওয়া যাবে https://gist.github.com/mfriedenhagen/e488235d732b7becda81) যা বিভিন্ন প্রমাণীকরণ সিস্টেমের পার্থক্য করে:
  • প্রমাণীকরণ সিস্টেমের নাম গ্রুপ নির্দিষ্ট।
  • ব্যবহৃত লগইন / sudo ব্যবহারকারী গ্রুপ এবং অ্যাডমিন নির্দিষ্ট।
  • তাই আমি ব্যবহারকারীকে অ্যাডমিনের পরিবেশ থেকে এবং পাসওয়ার্ডটি নিরাপদ থেকে পাইথন-কীরণের লাইব্রেরির মাধ্যমে সংশ্লিষ্ট পাসওয়ার্ডটি টেনে আনছি (আমরা ম্যাক ওএস এক্স এর কীচেন ব্যবহার করি, তবে ডকুমেন্টেশন থেকে কভেললেট গনোম এবং _উইন_ক্রিপ্টোগুলিও সমর্থিত)।
  • আমি ম্যাক ওএস এক্স এর কীচেন-এ পাসওয়ার্ডগুলিতে অনুমতিগুলি সম্পর্কে অবহিত করার জন্য অনুমতি দিয়েছি, যে কমান্ড লাইন প্রোগ্রাম নিরাপত্তার দ্বারা ব্যবহৃত প্রতিটি প্রমাণীকরণ সিস্টেমের জন্য একটি পাসওয়ার্ড অ্যাক্সেস অনুরোধ করে হোস্ট, তাই আমি "ansible -s all-m ping" চালাচ্ছি এবং দুটি প্রম্পট (প্রতিটি প্রমাণীকরণ সিস্টেমের জন্য একটি) চালাচ্ছি যেখানে আমি স্পেস বারটি টিপুন এবং পাসওয়ার্ডগুলি আপিলযোগ্য করে তুলবে।

3
2018-03-03 17:33



এটি খুব সুদর্শন দেখাচ্ছে, আপনাকে ধন্যবাদ - আমি দুই জায়গায় পাসওয়ার্ড সংরক্ষণ না করার ধারণা পছন্দ করি। এই মুহূর্তে আমি KeepassX ব্যবহার করে আটকে আছি (কারণ গনোম কিরিং খুব পোর্টেবল বলে মনে হচ্ছে না) তবে সম্ভবত আমি করতে পারি python-keepass কাজ করে? - supervacuo
যতদূর আমি বুঝতে পারি, পাইথন-কীরিং এর জন্য একটি বিমূর্ততা, তাই আপনার সহকর্মীরা অন্যান্য অপারেটিং সিস্টেম ব্যবহার করতে পারে। অথবা আপনি কি আপনার USB স্টিকে আপনার রাখাএসএস ডিবি সঞ্চয় করেন এবং বিভিন্ন OS গুলির সাথে ওয়ার্কস্টেশনে পরিচালনা করতে চান? - Mirko Friedenhagen
বোঝা; আমার মনে হচ্ছিল যে আমাকে গাইব্যাক্স ব্যবহার করতে হবে নন-গনোম সিস্টেমে পাসওয়ার্ড অ্যাক্সেস করার জন্য, যাতে সেগুলি সংরক্ষণ করা যায় gnome-keyring সদৃশ রেকর্ড রাখা মানে। এখনও ব্যবহার করার চেয়ে nicer উপায় NOPASSWD, যদিও ... - supervacuo


এটি করার একটি সম্ভাব্য উপায় পরিবেশগত ভেরিয়েবল ব্যবহার করা হয়।

উদাহরণস্বরূপ

pass1=foo pass2=bar ansible-playbook -i production servers.xml

তারপর নাটকগুলিতে, আপনি ব্যবহার করে sudo পাসওয়ার্ডটি সন্ধান করতে পারেন:

lookup('env', 'pass1') 
lookup('env', 'pass2') 

0
2017-07-21 08:57