আমি নিজের প্রশ্নের উত্তর দেওয়ার চেষ্টা করার সময় এই প্রশ্নটি পেয়েছি। কিছু অনুসন্ধান এবং পরীক্ষার পরে, আমি এর জন্য আরও কয়েকটি বিকল্প পেয়েছি। আমি বিকল্প হিসাবে কী বিতরণ সম্পর্কে অংশটি এড়াতে যাচ্ছি যেহেতু ম্যাট সিমনস এটি আবৃত করে। এছাড়াও, আমি জানি বার যখন আছে যে না ভাল যথেষ্ট। উদাহরণস্বরূপ, আপনি যদি গিটহাব হন এবং একক ব্যবহারকারীর বিরুদ্ধে লক্ষ লক্ষ পাবলিক কী সংরক্ষণ করতে হয়, ধারাবাহিকভাবে এসএসএইচ অনুমোদিত_কাই ফাইলগুলি আপডেট করে এবং এগুলি সম্ভাব্য কয়েক শতাধিক প্রান্ত বাক্সে সংহত করে রাখা সম্ভব বা পছন্দসই নয়।
সুতরাং,
প্রথমত, রেডহ্যাট (এবং রূপগুলি) ওপেনএসএসএইচের জন্য একটি সমর্থিত প্যাচ রয়েছে যা বিকল্পগুলি AuthorizedKeysCommand
এবং AuthorizedKeysCommandRunAs
বিকল্পগুলি যুক্ত করে। প্যাচটি ওপেনশাস .2.২ এ প্রবাহিত করা হয়েছে। ম্যান পৃষ্ঠা থেকে উদ্ধৃতি দিতে :
AuthorizedKeysCommand
ব্যবহারকারীর পাবলিক কীগুলি দেখার জন্য ব্যবহৃত একটি প্রোগ্রাম নির্দিষ্ট করে। প্রোগ্রামটি তার প্রথম যুক্তির সাথে অনুমোদিত হবে যে ব্যবহারকারীর নাম অনুমোদিত হচ্ছে, এবং এটি স্ট্যান্ডার্ড আউটপুট অথোরিজডকিজ লাইনে উত্পন্ন করা উচিত (এসটিএসডি (8) এ AUTHORIZED_KEYS দেখুন)। ডিফল্টরূপে (বা খালি স্ট্রিংয়ে সেট করা থাকলে) কোনও অনুমোদিতকিজিকমন্ড চালানো হয় না। যদি অথরাইজডকিজকম্যান্ড সফলভাবে ব্যবহারকারীকে অনুমোদন না দেয় তবে অনুমোদনটি অনুমোদিতকিজফাইলে পড়ে। নোট করুন যে এই অপশনটির কেবল PubkeyAuthentication চালু থাকলেই তার প্রভাব রয়েছে।
AuthorizedKeysCommandRunAs
যার অ্যাকাউন্টের অধীনে অথরাইজডকিসকম্যান্ডটি চালিত হয়েছে তা নির্দিষ্ট করে। খালি স্ট্রিং (ডিফল্ট মান) এর অর্থ ব্যবহারকারী অনুমোদিত হচ্ছে।
আজ রাতে আমার পরীক্ষায়, আমি খুঁজে পেয়েছি যে বাক্সের বাইরে, এটি ডিফল্ট SELinux নীতিগুলির কারণে কাজ করে না। আপনি সেলইনাক্স প্রয়োগকারীটি বন্ধ করে এটিকে পেতে পারেন setenforce 0
। যেহেতু সেলইনাক্স ঘুরিয়ে দেওয়া সম্ভবত একটি খারাপ ধারণা, পরিবর্তে আপনি সঠিক নীতি তৈরি করতে পারেন। আমার ক্ষেত্রে এটি অপশন সেট আপ এবং তারপরে ব্যবহার করে লগ ইন করার চেষ্টা করার মতোই সহজ ছিল । এটি মূলত নিরীক্ষার লগগুলির মধ্যে নজর রাখে এবং এমন জিনিসগুলি আবিষ্কার করে যা প্রতিরোধ করা হয়েছিল এবং তাদের ব্যতিক্রম উত্পন্ন করে। যদি আপনার সেখানে অন্য জিনিসগুলি থাকতে পারে যা শ্বেত তালিকাভুক্ত হতে পারে তবে আপনি সম্ভবত নতুন নীতিগুলি সঠিকভাবে পেয়েছেন তা নিশ্চিত করার জন্য আপনার আরও বেশি কিছু শিখতে হবে।AuthorizedKeysCommand
/etc/ssh/sshd_config
audit2allow -a -M local && semodule -i local.pp
audit2allow
অনুরূপ কার্যকারিতা যুক্ত করতে সেখানে অন্যান্য বিভিন্ন (সম্ভবত কম পরীক্ষিত এবং বিশ্বাসযোগ্য) প্যাচ রয়েছে। উদাহরণস্বরূপ, ওপেনশ-স্ক্রিপ্ট-আথ রয়েছে । আপনি রেডহ্যাট ব্যবহৃত প্যাচটিও খুঁজে পেতে পারেন এবং এটি সরাসরি প্রয়োগ করতে পারেন apply Googling এর একটি দ্রুত টেকার uncovers https://launchpadlibrarian.net/89063205/openssh-5.3p1-authorized-keys-command.patch এবং https://launchpadlibrarian.net/105938151/openssh-authorized-keys-command.patch যা আরএইচ সংস্করণগুলির ভিত্তিতে তবে ওপেনএসএসএইচের নতুন সংস্করণগুলির জন্য আপডেট করা হয়েছে।
কিছু স্টোর থেকে সরাসরি কী লুকআপগুলি সম্পাদন করতে ওপেনএসএইচ প্যাচ করুন (যেমন গিটহাব এবং কোডবেসএইচকিউ এবং অন্যরা করেছেন)। গিটহাব এই প্যাচটি সর্বাধিক জ্ঞানের পক্ষে খোলেনি, তবে আমি জানি অতীতে আমি মাইএসকিউএল এবং পোস্টগ্র্রেএসকিউএল কী দেখার জন্য সংস্করণ পেয়েছি। আমি এখনই তাদের আবার খুঁজে বের করার চেষ্টা করেছি তবে খুব বেশি ভাগ্য হয়নি।
এছাড়াও কিছু ফুস ভিত্তিক অপশন রয়েছে। উদাহরণস্বরূপ এখানে এলপিকেফিউস রয়েছে যা আপনাকে AuthorizedKeysFile
এলডিপিউফিউজ ফাইল সিস্টেমে অবস্থান পরিবর্তন করে এলডিএপি থেকে সর্বজনীন কীগুলি পরিবেশন করতে দেয় । LPKFuse FS ভার্চুয়াল ফাইলগুলি তৈরি করে যার বিষয়বস্তু একটি ডিরেক্টরি সার্ভার থেকে ক্ষেত্রগুলিতে ব্যাক করা আছে।
সব মিলিয়ে আমার মনে হয় # 1 বিকল্পটি সর্বোত্তম কারণ এটি আনুষ্ঠানিকভাবে রেডহ্যাট দ্বারা সমর্থিত। তদ্ব্যতীত, এটি আপনাকে যে কোনও ভাষাতে আপনার চাইলে সেই স্ক্রিপ্টে (কোনও ডাটাবেসের সাথে কথা বলার অন্তর্ভুক্ত) যুক্ত করতে দেয়।