শেল অ্যাক্সেস ছাড়াই কি ব্যবহারকারীদের এসফ্টপ এক্সেস দেওয়া সম্ভব? যদি হ্যাঁ, এটি কীভাবে বাস্তবায়ন করা হয়?


29

আমার কাছে এমন একটি ব্যবহারকারী রয়েছে যাঁদের কেবলমাত্র তাদের সেট হোমডায়ারগুলিতে ফাইলগুলি আপলোড করতে হবে। আমি মনে করি sftp যথেষ্ট হবে, তবে আমি চাই না যে তারা শেলের মাধ্যমে লগইন করুক। তাহলে কি এটা সম্ভব? আমার প্ল্যাটফর্মটি সেন্টোস 7, ব্যবহারকারীর হোমডিয়ারগুলি সঞ্চিত রয়েছে / যাক / ব্যক্তিগত / $ ব্যবহারকারীকে বলে

আমি এই সেটিংস দিয়ে ব্যবহারকারী তৈরি করেছি

useradd -m -d /personal/user1 -s /sbin/nologin

ব্যবহারকারীকে একটি পাসডাব্লুড বরাদ্দ করা হয়, তারপরে আমি যখন মেশিনে লগইন করতে এসফটিপি ব্যবহার করি, এটি বলে যে সংযোগ করতে পারে না।



উত্তর:


11

আপনার /etc/ssh/sshd_configধারণ করতে সম্পাদনা করুন :

Match User [SFTP user]
ForceCommand internal-sftp

পুনরায় চালু করুন sshd। আপনার যদি একাধিক ব্যবহারকারী থাকে তবে সেগুলি ম্যাচের ব্যবহারকারী লাইনে তাদের মত কমা দ্বারা পৃথক করা থাকে:

Match User User1,User2,User3

sftpশেল অ্যাক্সেস না করার জন্য কনফিগার করার কীটি হ'ল ForceCommand বিকল্পটির মাধ্যমে ব্যবহারকারীদের সীমাবদ্ধ করা ।


ঠিক আছে আমি সমস্ত পদক্ষেপগুলি অনুসরণ করেছি তবে এটি লগইন হয়নি
স্লোলোসা

2
@ সল্লোসা Match User [SFTP user] ForceCommand internal-sftpকেবল ক্রোটিং স্টাফ ছাড়াই চেষ্টা করুন ।
মার্টিন প্রিক্রিল

@ মার্টিনপ্রিক্রিল এটি মার্টিনকে কাজ করেছে, ধন্যবাদ, আমি স্রেফ ক্রুটডাইরেক্টরি প্যারামিটার এবং ভায়োলা
সরিয়েছি

1
তার উপরে, আপনি chrootব্যবহারকারীদের যাতে তারা আপনার সংজ্ঞায়িত "কারাগার" থেকে নেভিগেট করতে না পারে
আইভিনিভা

37

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

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

ঠিককরা

সফ্টওয়্যার ইনস্টল করুন (butচ্ছিক তবে দরকারী):

yum install members   # or apt install members

গোষ্ঠী যুক্ত করুন:

addgroup --system allowssh
addgroup --system sftponly

ইন /etc/ssh/sshd_config, সেটিংসের নীচে নিম্নলিখিতগুলি নিশ্চিত করুন No:

PermitRootLogin no
PubkeyAuthentication no
PasswordAuthentication no

এবং শেষে /etc/ssh/sshd_config, এই দুটি স্তম্ভ যুক্ত করুন:

Match Group allowssh
    PubkeyAuthentication yes

Match Group sftponly
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

(ফাইল সম্পাদনা করার পরে এসএসএইচ পুনরায় চালু করতে ভুলবেন না)

ব্যাখ্যা

তো, এই সব কি করে?

  • এটি অতিরিক্ত সুরক্ষার ব্যবস্থা হিসাবে সর্বদা রুট লগইন অক্ষম করে।
  • এটি সর্বদা পাসওয়ার্ড-ভিত্তিক লগইনগুলি অক্ষম করে (sshd চলমান সার্ভারগুলির জন্য দুর্বল পাসওয়ার্ডগুলি একটি বড় ঝুঁকি)।
  • এটি কেবলমাত্র allowsshগ্রুপের ব্যবহারকারীদের জন্য (পাবকি) লগইন করতে দেয় ।
  • sftponlyগ্রুপের ব্যবহারকারীরা এসএসএইচ-এর মাধ্যমে শেল পেতে পারবেন না, কেবল এসএফটিপি।

কাদের অ্যাক্সেস রয়েছে তা পরিচালনা করার পরে কেবল গ্রুপ সদস্যতার ব্যবস্থাপনার মাধ্যমে করা হয় (এই পরিবর্তনগুলি তত্ক্ষণাত্ কার্যকর হয়, এসএসএইচ পুনরায় আরম্ভের প্রয়োজন হয় না):

# adduser marcelm allowssh
# members allowssh
marcelm
# deluser marcelm allowssh
# members allowssh
#

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

আরো তথ্য

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

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

  2. এই কনফিগারেশনটি কোনও sftponlyব্যবহারকারীকে তাদের হোম ডিরেক্টরিতে সীমাবদ্ধ করে । আপনি যদি এটি না চান তবে ChrootDirectory %hনির্দেশটি সরিয়ে দিন ।

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

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

  3. sftponlyব্যবহারকারীদের শেল সেট করা /sbin/nologinএই সমাধানের জন্য প্রয়োজনীয় বা ক্ষতিকারক নয়, কারণ এসএসএইচ ForceCommand internal-sftpব্যবহারকারীর শেলকে ওভাররাইড করে।

    /sbin/nologinযদিও অন্য উপায়ে (শারীরিক কনসোল, সাম্বা, ইত্যাদি) মাধ্যমে তাদের লগ ইন করা বন্ধ করতে ব্যবহার করা সহায়ক হতে পারে।

  4. এই সেটআপটি rootএসএসএইচে সরাসরি লগইনগুলিকে অনুমতি দেয় না ; এটি সুরক্ষার অতিরিক্ত স্তর তৈরি করে। আপনি কি সত্যিই যদি না সরাসরি রুট লগইন প্রয়োজন পরিবর্তন PermitRootLoginনির্দেশ। এটা পটভূমি বিবেচনা করুন forced-commands-only, prohibit-passwordএবং (শেষ উপায় হিসাবে) yes

  5. বোনাস পয়েন্টগুলির জন্য, কে কারা suরুট করতে পারে তা সীমাবদ্ধ করে দেখুন ; একটি সিস্টেম গ্রুপ নামক যোগ wheel, এবং সক্ষম যোগ / auth required pam_wheel.so/etc/pam.d/su


2
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটি সমাধানের পাশাপাশি প্রতিটি পদক্ষেপের পিছনে যুক্তিগুলি ভেঙে দেয়।
কেমোটেপ

1
এটি অতিরিক্ত অতিরিক্ত সুরক্ষা পরামর্শ সহ সত্যিই দুর্দান্ত উত্তর তবে আমি যারা ব্যবহারকারীদের পাসওয়ার্ড লগইন, রুট লগইন ইত্যাদির উপর নির্ভর করে তাদের জন্য আমি উদ্বেগ বোধ করি অবশ্যই এটি করা ভাল নয় তবে সম্ভবত সাধারণ সুরক্ষা উন্নতির সাথে সম্পর্কিত পরিবর্তনগুলি তাদের দিকে সরিয়ে দেয় নিজস্ব বিভাগ যাতে নূন্যতম পরিবর্তন সহ প্রশ্নের উত্তর পাওয়া যায়?
জোশ রুম্বুট

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

1
ভাল উত্তর, অন্য উত্তরগুলির বৃহত্তম ত্রুটিগুলি ইমো সুরক্ষার দিকগুলি বিবেচনায় নিচ্ছে না, প্রধানত chroot। +1
রুই এফ রিবেইরো

1
ক্রোট জেনেরিক% h এর জন্য কাজ করবে না। আশ্চর্যের বিষয় হল, আপনাকে chown root:rootchmod og-w
কুব্যাঞ্জিক

1

কেবল তাদের ডিফল্ট শেলটি / sbin / nologin এ পরিবর্তন করুন। লিনাক্সের বেশিরভাগ জাত ধরে নেওয়া:

# usermod -s /sbin/nologin username

আমি এটি চেষ্টা করে দেখেছি, তবে ব্যবহারকারী sftp এর মাধ্যমে লগইন করতে পারবেন না, কেন তা আমি জানি না। আমি Centos বিটিডব্লু ব্যবহার করছি।
সল্লোসা

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

আমি বিশ্বাস করি (যদিও আমি এখন এটি পরীক্ষা করতে পারি না) এটি এসএফটিপিকে কেবল সেখানে উপস্থিত থাকলেই অনুমতি দেয় Subsystem sftp internal-sftp) (বা সম্ভবত ForceCommand internal-sftp)। যদি সাধারণ Subsystem sftp /path/to/sftp-server, nologinএমনকি এসএফটিপি প্রতিরোধ করবে।
মার্টিন প্রিক্রিল

@ মার্টিনপ্রিক্রিল আমি অন্য কোনও ফাংশনাল এসএফপি সার্ভারে কীভাবে ব্যবহারকারীদের জন্য শেল অ্যাক্সেস অক্ষম করতে হবে তা জিজ্ঞাসা করার জন্য তাদের আসল অশিক্ষিত প্রশ্নটি ভুল বুঝেছি। আমি তখন প্রায় দশ মিনিট জেগে থাকি তাই আমি যতটা পরিষ্কার অনুভব করতাম ততটা পরিষ্কার হয় নি। যদিও আমি জানতাম না যে sftp- সার্ভারে একটি ব্যবহারকারীর কাজ করার জন্য একটি বৈধ শেল থাকা দরকার - এটি সম্ভবত বিপজ্জনক বলে মনে হয়। আমি অভ্যন্তরীণ-এসটিপিকে কেবল অভ্যাসের বাইরেই ব্যবহার করি কারণ আমি সর্বদা এটিই করেছি।
কেফকা


0

আপনি tftp ব্যবহার করতে পারেন। ssh ওভার যে কোনও কিছুর জন্য কিছু লেখক (কী | পাস) প্রয়োজন require

tftp সুরক্ষিত করা যেতে পারে, প্রমাণীকরণ ব্যতীত যে কোনও কিছুতে অ্যাক্সেস সরবরাহ করার সিদ্ধান্তটি পুনর্বিবেচনা করা উপযুক্ত।

http://manpages.ubuntu.com/manpages/bionic/man1/tftp.1.html


2
আমি মনে করি ওপি ব্যবহারকারীরা (যাদের সম্ভবত ব্যবহারকারীর নাম এবং পাসওয়ার্ড রয়েছে) সার্ভারের সাথে সংযোগ স্থাপন করতে এবং স্বেচ্ছাসেবী আদেশগুলি কার্যকর করতে একটি নিয়মিত এসএসএইচ ক্লায়েন্ট ব্যবহার করতে সক্ষম না হতে চেয়েছিল, তবে সেই একই ব্যবহারকারীরা এসএফটিপি-র মাধ্যমে ফাইলগুলি আপলোড করতে সক্ষম হবেন।
জন_রেইনস্টেটমোনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.