কীভাবে sshd_config এ AllowGroups এবং AllowUser উভয় ব্যবহার করবেন?


28

আমি /etc/ssh/sshd_configউভয় AllowUsersএবং আমার ডেডিকেটেড ডিবিয়ান 7 সার্ভারে সংশোধন করার চেষ্টা করছি AllowGroups। তবে আমি দুজনকে এক সাথে কাজ করার কথা মনে করতে পারি না।


সেটআপ

  • সেখানে একজন ব্যবহারকারী রয়েছেন testuser
  • সেই ব্যবহারকারী একটি গ্রুপে আছেন ssh-users:

    $ groups testuser
    testuser : testuser ssh-users
    
  • testuserssh testuser@<server_ip>তাদের পাসওয়ার্ডের মাধ্যমে সংযোগ করার চেষ্টা করছে এবং প্রবেশ করছে।

  • আমার sshd_configএখানে পাওয়া যাবে: http://pastebin.com/iZvVDFKL - আমি মনে করি মূলত আমি শুধুমাত্র ডিফল্ট থেকে পরিবর্তনগুলি হ'ল:
    • নির্ধারণ করা PermitRootLogin no
    • এবং দুটি ব্যবহারকারী যুক্ত করুন AllowUsers(প্রকৃত ব্যবহারকারীর নামটি আমার সার্ভারে পৃথক)
  • service ssh restartপ্রতিটি সময় পরিবর্তন করার পরে চালানো হয় sshd_config

সমস্যাটি

  • testuser এর সাথে সেট করার সময় সংযোগ করতে পারবেনAllowUsers :

    AllowUsers user1 user2 testuser
    
  • testuserএর গোষ্ঠীর জন্য সেট করার সময় সংযোগ করতে পারবেন নাAllowGroups :

    AllowUsers user1 user2
    AllowGroups ssh-users
    

    ssh পাসওয়ার্ড প্রম্পটে Permission denied, please try again.যখন testuserতাদের পাসওয়ার্ড প্রবেশ করে তখন ফলাফল ।


প্রশ্নটি

  • নেই AllowUsersওভাররাইড AllowGroups?
  • ম্যানুয়ালি ব্যবহারকারীর নাম যুক্ত না করে এটি ঠিক করার সর্বোত্তম উপায় কী AllowUsers? আদর্শভাবে আমি চাইছি ssh-usersভবিষ্যতে কেবল sshd_configআবার স্পর্শ না করেই এই গোষ্ঠীতে ব্যবহারকারীদের যুক্ত করতে।

5
Ideally I'd like to be able to just add users to the ssh-users group in the future without having to touch sshd_config again.- তাহলে আপনি কেন AllowUser ব্যবহার করছেন? সবাইকে গ্রুপ / গ্রুপে স্রেফ রাখুন।
জোরডাচি

উত্তর:


24

হ্যাঁ, AllowUsersউদাহরণস্বরূপ লাগে AllowGroups। যদি নির্দিষ্ট করা থাকে তবে কেবলমাত্র উল্লিখিত প্যাটার্নের সাথে মেলে এমন ব্যবহারকারীরা AllowUsersএসএসএইচডি উদাহরণের সাথে সংযুক্ত হতে পারেন।

sshd_config ম্যানপেজ অনুসারে :

অনুমতি / অস্বীকার নির্দেশনা নিম্নলিখিত ক্রমে প্রসেস করা হয়: DenyUsers, AllowUsers, DenyGroups, এবং পরিশেষে AllowGroups

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


তাহলে কি শুধু AllowGroups user1 user2 ssh-usersকাজ হবে? আমি এটির পরীক্ষার আগে আপনার নিশ্চিতকরণটিকে প্রাধান্য দেব যেহেতু আমি ঘটনাক্রমে আমার নিজের এসএসের প্রাইভেলিজগুলি অপসারণ করার আগেই এটি ঘটেছিলাম এবং এটির সমাধানের জন্য সমর্থন দিয়ে যেতে হয়েছিল। কেমন Matchঅবরোধ করবেন? আমি সেখানে পরামর্শ চাইছি যেহেতু আমি ম্যান পেজটি দেখেছি, এটি অনুশীলনে কীভাবে কাজ করবে তা জানার আমার অন্তর্দৃষ্টি / অভিজ্ঞতা নেই। উদাহরণস্বরূপ, আমি অঙ্কিত প্রক্রিয়াকরণের ক্রম সহ, যেহেতু AllowUvers এর পরে AllowGroups আসে, প্রক্রিয়া করার সময় এটি ওভাররাইড হয়ে যায়, তবে আমার অনুভূতিটি ভুল ছিল :)
জোহানেস

2
যদি এগুলির 3 টিই আপনার সিস্টেমে গোষ্ঠী হয় তবে এটি কাজ করা উচিত। যদি ইউজার 1 এবং ইউজার 2 কেবল ব্যবহারকারী, আপনি তাদের এসএস-ব্যবহারকারীদের সাথে যুক্ত করতে পারেন এবং AllowGroups ssh- ব্যবহারকারীদের দ্বারা পেতে পারেন।
জেফ-উদ্ভাবক ChromeOS

@ জোহানেস আপনি যখন এই জাতীয় জিনিস পরীক্ষা করেন, ঠিক আছে তা নিশ্চিত করে নিন যে আপনি মেশিনে একটি শেল খোলা আছে। Sshd পুনরায় আরম্ভ করা আপনার অধিবেশন ভাঙবে না, এবং আপনি যদি একটি নতুন খুলতে না পারেন তবে আপনি বিদ্যমান একটি দিয়ে আপনার জগাখিচুড়ি ঠিক করতে পারেন।
জিন-বার্নার্ড জানসেন

6

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

Sshd_config এর সংযোগ বিধিগুলি একটি ফিল্টার - প্রতিটি অতিরিক্ত নিয়ম প্রয়োগ করার কারণে গ্রহণযোগ্য ব্যবহারকারীদের সেটটি কেবল হ্রাস করা যায়। PATTERNSমধ্যে ssh_config (5) যারা নিয়ম আকারে ব্যাখ্যা।

উপরন্তু, অনুযায়ী AllowUsersবিভাগে sshd_config:

যদি প্যাটার্নটি ব্যবহারকারী @ @ HOST ফর্মটি গ্রহণ করে তবে নির্দিষ্ট হোস্ট থেকে নির্দিষ্ট ব্যবহারকারীদের জন্য লগইনগুলি সীমাবদ্ধ করে USER এবং HOST পৃথকভাবে চেক করা হবে। HOST মাপদণ্ডে সিআইডিআর ঠিকানা / মাস্কলিন ফর্ম্যাটে মেলার জন্য অতিরিক্ত ঠিকানা থাকতে পারে।

AllowGroups ব্যবহারকারী @ হোস্ট ফর্মটি গ্রহণ করে না।

সুতরাং, ব্যবহারকারীগণকে 1) ssh গ্রুপে এবং 2) নির্দিষ্ট সাবনেট / হোস্টগুলি থেকে:

AllowUsers *@192.168.1.0/24 *@*.example.com *@1.2.3.4
AllowGroups ssh

AllowGroups doesn't accept the USER@HOST form. আপনি এর অর্থ কী তা নিশ্চিত নন এবং কনফিগার ফাইল বা ডক্স যা বলে তা অবশ্যই নয়। গোষ্ঠীগুলিকে মঞ্জুরি দিন অবশ্যই আপনাকে ssh ব্যবহারকারীর নাম@example.com ব্যবহার করে লগইন করতে দেয়।
অ্যান্ড্রুড

1
@ অ্যান্ড্রুড অলগোষ্ঠী কেবলমাত্র গ্রুপের নাম গ্রহণ করে - যেমন আপনি করতে পারবেন না AllowGroups ssh@example.com। HOST হ'ল উত্স, যেখানে আপনি ছিটকে যাচ্ছেন।
bjacobowski

3

এখানে আমরা একটি সমাধান খুঁজে পেয়েছি যা কাজ করেছে:

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