এসএসএইচ পাবলিক কী বিতরণের জন্য একটি সিস্টেম


26

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

সমস্যাটি হ'ল, সিস্টেমে ইনস্টল করা সর্বজনীন কীগুলি কোনওভাবে পরিচালনা করা দরকার। লোকেরা আসেন এবং যান, চাবিগুলি আপোস হতে পারে, দায়িত্ব পাল্টে যেতে পারে (আজ একটি সিস্টেমে প্রবেশের জন্য অনুমোদিত ব্যক্তিটি আগামীকাল পৃথক অ্যাক্সেসের জন্য অনুমোদিত হতে পারে)। বর্তমানে আমরা প্রতিটি অ্যাকাউন্টে ম্যানুয়ালি account / .ssh / अधिकृत_keys ফাইলগুলি সম্পাদনা করে পরিচালনা করি যা এর প্রয়োজন হয় তবে এটি অনেক কাজ এবং ভুলের জন্য প্রবণ।

এই জাতীয় দৃশ্যে পাবলিক কীগুলি পরিচালনা করার জন্য কি কোনও প্রস্তুত সরঞ্জাম রয়েছে? আপনার নিজস্ব সমাধান আছে? অথবা এভাবে সিস্টেম পরিচালনা করার পুরো ধারণাটি ত্রুটিযুক্ত?


আমি সত্যিই আপনার প্রশ্নের উত্তর দিতে পারি না তবে আমি যখন এটি পড়ি তখন কেবল শুনতে পেলাম এটি কোনওরকম ডাটাবেস সিস্টেমের জন্য চিৎকার করছে।
জন গার্ডেনিয়ার্স

প্রকৃতপক্ষে, আমি 'ব্যাকএন্ড' ('কী সার্ভার') তে একটি ডাটাবেসের জন্য একটি জায়গা দেখতে পাচ্ছি, যদিও আমি সেখানে ডাটাবেস অ্যাক্সেসকে সীমাবদ্ধ রাখতে পছন্দ করব এবং এসএসএইচ চ্যানেলের মাধ্যমে কীগুলি বিতরণ করব। পরিচালিত সিস্টেমে অন্য কোনও যোগাযোগ চ্যানেল না খোলার জন্য। আসলে আমি নিজেকে এই জাতীয় সরঞ্জাম / সিস্টেম প্রয়োগ করতে সক্ষম বোধ করি, যদিও আমি প্রস্তুত এবং কার্যকর কিছু পছন্দ করি prefer
জ্যাসেক কোননিজনি

উত্তর:


18

পুলেগিয়াম দ্বারা ইতিমধ্যে উল্লিখিত হিসাবে, পুতুল , শেফ , বিসিএফজি 2 বা সিফেনজিনের মতো সাধারণ জেনারিক কনফিগারেশন ম্যানেজমেন্ট সফটওয়্যারটি কাজটি সম্পাদন করতে পারে।

যেহেতু অনুমোদিত_কিগুলি ফাইলটি জটিল নয়, আপনি এই ফাইলটি পরিচালনা করতে আরএসসিএন বা একটি (ডি) এসসিএম যেমন গিট বা এইচজি ব্যবহার করতে পারেন। আপনার কোনও সার্ভারে আপনার "মাস্টার" ফাইল রয়েছে এবং এটি rsync / git / hg /… এর মাধ্যমে পরিবেশন করবেন। প্রতিটি অন্যান্য সার্ভারে আপনি ক্রোন জব চালান যা পর্যায়ক্রমে মাস্টার কপিটি পুনরুদ্ধার করে (যদি এটি পরিবর্তন করা হয়) এবং সঠিক স্থানীয় লোকালয়ে এটি অনুলিপি করে। হেক, এটি এমনকি খাঁটি HTTP বা FTP এর সাথে কাজ করবে।

নীচের লাইনটি হ'ল: আপনার অনুমোদিত_কাইজ ফাইলটির একটি "মাস্টার" অনুলিপি রাখুন এবং এটি আপডেট করুন। "ক্লায়েন্ট" (কম্পিউটারগুলিতে, বর্তমানের অনুমোদিত_কিজি ফাইল থাকা উচিত) এটি আপনার মাস্টার সার্ভার থেকে আনতে এবং স্থানীয়ভাবে এটি স্থাপন করতে দিন।


1
আমরা আরামে ~ 200 লিনাক্স সার্ভারগুলি পরিচালনা করতে পুতুল ব্যবহার করি (ব্যবহারকারীর বৈশিষ্ট্য হিসাবে প্রয়োগ করার জন্য পাব কীগুলি কেবল একটি ফাইল)।
ফরজম্যান

1
আমি এই উত্তরটি এই মুহূর্তে গ্রহণ করব বলে মনে হয় আমি আরও ভাল হব না। আমার কাছে পছন্দগুলি হ'ল: 1. এখনকার মতো জিনিস রাখুন 2. অনুমোদিত_কিগুলি ফাইল পরিচালনা করতে নিজস্ব সরঞ্জাম চেইন তৈরি করুন 3. পুতুল বা শেফের মতো সার্ভার পরিচালনার জন্য কিছু বিদ্যমান, জেনেরিক সরঞ্জাম ব্যবহার করুন… যদিও এই সরঞ্জামগুলির জন্য খুব বড় মনে হয় এই সহজ কাজ। ৪. অন্যান্য প্রমাণীকরণ / অনুমোদন প্রক্রিয়া (যেমন কার্বেরোস) ব্যবহার করুন ... যদিও এটি সাধারণ কাজের জন্য খুব পরিশীলিত সরঞ্জাম বলে মনে হচ্ছে ধন্যবাদ।
জ্যাসেক কোননিজনি

এই সিস্টেমটি চ্যানেলের মতোই সুরক্ষিত যার মাধ্যমে মাস্টার অনুলিপিটি টানা হয়।
yrk

1
জবাবদিহি এমন একটি অত্যন্ত হালকা সিএম সিস্টেম যার মধ্যে এসএসএস-এর মাধ্যমে অনুমোদিত কী ফাইলগুলির সাথে মাক করার একটি মডিউল রয়েছে। দেখুন ansible.cc/docs/modules.html#authorized-key
আরএস

11

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

প্যাচ এবং আরও বিশদের জন্য http://code.google.com/p/openssh-lpk/ দেখুন । আমি ডিফল্টরূপে এই প্যাচটি দিয়ে যে কোনও ওএস বহন করে তা আমি জানি না, তবে আপনি যদি ফ্রিবিএসডি চালাচ্ছেন তবে আপনি বন্দরগুলি থেকে ওপেনএসএইচ ব্যবহার করেন এটি একটি anচ্ছিক প্যাচ।


1
ঘটনাক্রমে পাম_ল্ডাপ ব্যবহার করা আপনাকে "মেশিন অ্যাক্সেসের জন্য অনুমোদিত একজনকে আজকের কাল এটিকে অ্যাক্সেস করার অনুমতি দেওয়া হতে পারে না" সমস্যাটি সমাধান করতে দেয় - আপনি যদি সেই দিকটিতে আগ্রহী হন তবে পাম_ল্ডপে পড়ুন ...
ভোরেটাক 7

5

আমি একটি খুব সহজ সমাধান চালাচ্ছি, এটি ফায়ারওয়াল-বিধিগুলির সাথে একই কাজ করে

ফাইল হোস্টকনফের উদাহরণ:

192.168.0.1
192.168.2.99
192.168.2.100

distribute.sh:

#!/bin/bash
for d in `cat ./hosts.conf`; do
  echo "copying to $d ...";
  scp /root/.ssh./authorized_keys root@$d:/root/.ssh./authorized_keys
done;

পুরো ম্যাজিক thats :-)


5

আমি বর্তমানে এসএসএইচ কীডিবি পরীক্ষা করছি । এর অর্থ হ'ল এটি করা, ভূমিকা, সার্ভার এবং ব্যবহারকারীদের পরিচালনা করা, ব্যবহারকারীর কী বিতরণ করা, হোস্ট কী সংগ্রহ করা ইত্যাদি "এমনকি এটিতে" লোকেশন "নামে কিছু রয়েছে।

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


1

আপনি অনেকের দ্বারা কী বোঝাতে চাইছেন তা আমি নিশ্চিত নই, না যদি আপনি পরিবর্তন করতে ইচ্ছুক হন তবে আমি জানি না, তবে কার্বেরোস হ'ল ড্রয়েড যা আপনি সন্ধান করছেন। এটি আপনার সমস্যার মার্জিতভাবে সমাধান করবে এবং ব্যক্তি এবং মেশিন উভয়কেই প্রমাণীকরণ করবে।


1

আপনি দুটি সমাধান করতে চেষ্টা করেছেন (যা সাধারণত 3 তে পরিণত হয়) বিভিন্ন সমস্যা যা আপনি সমাধান করার চেষ্টা করছেন:

  • প্রমাণীকরণ (আপনি কে?)
  • অনুমোদন (আপনি কি এই সার্ভারটি অ্যাক্সেসের অনুমতি পেয়েছেন?)
  • নিরীক্ষা (আপনি কী করলেন?)

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

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

আমি রেড হ্যাট ফ্রিপা প্রকল্পটি যাচাই করতাম , এটি সফটওয়্যারগুলির একটি বান্ডিল যা এডি-এর মতো কার্বেরোস / এলডিএপি / ডিএনএস সিস্টেমটি দ্রুত এবং দ্রুত চালানো সহজ করে তোলে।


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

অনুমোদিত_কিগুলি ফাইল পরিচালনা করা কয়েক মুঠো সার্ভারের জন্য এনপি, তবে আপনি দ্রুত এমন একটি পয়েন্টে পৌঁছেছেন যেখানে পরিচালনা করা অসম্ভব। আমি এটি বলার চেষ্টা করছিলাম না যে এটি একটি "খারাপ" সমাধান। তেমনিভাবে, কার্বেরোসের জটিলতা দুটি সার্ভারের জন্য অনুপযুক্ত ... তবে কার্বেরোস ডিজাইন / প্রয়োগে বিনিয়োগ এটি বৃহত্তর পরিবেশে উপযুক্ত।
duffbeer703

1

আপনি ব্যবহার করতে পারেন Bcfg2 সঙ্গে bcfg2 অ্যাকাউন্ট বিতরণ করতে authorized_keys। যোগ বোনাস হিসাবে, আপনার ব্যবহারকারী এবং গোষ্ঠী নিয়ন্ত্রণ করার ক্ষমতা থাকবে।

Bcfg2 বেদনা-মুক্ত রক্ষণাবেক্ষণ সম্ভব /etc/ssh/ssh_known_hostsসঙ্গে SSHbase হিসাবে ভাল।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.