কোনও কমলিন ব্যবহারকারীর সাথে এসএসএসের মাধ্যমে কমান্ড চালানো যেতে পারে?


13

যদি কোনও ব্যবহারকারী থাকে loginShell=/sbin/nologinতবে এটি এখনও সম্ভব

ssh user@machine [command]

ধরে নিচ্ছি যে ব্যবহারকারীর তার হোম ডিরেক্টরিতে সঠিক ssh কী রয়েছে যা প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে?

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


1
এটার কাজ করা উচিত. commandচালানো হয় পরিবর্তে লগইন শেলের।
orion

1
এটি /sbin/nologinশেল হিসাবে কনফিগার করার উদ্দেশ্যকে পরাস্ত করে । আপনার উদ্বেগ যদি অ্যাকাউন্টের সুরক্ষা হয় তবে পাসওয়ার্ড প্রমাণকে অক্ষম করা এবং এসএসএস কী ব্যবহার করা যথেষ্ট।
ক্রিক

@ ক্রিক লগইন শেল এবং শেলের অন্যান্য উদাহরণগুলির মধ্যে পার্থক্য রয়েছে। সুতরাং, তিনি যা জিজ্ঞাসা করছেন তা অগত্যা / এসবিন / নোলজিনের উদ্দেশ্যকে পরাভূত করে না। এটি হতে পারে যে সে লগইন শেলের প্রসঙ্গে কিছু কাজ সম্পাদন করতে চায়।
মাইকেল মার্টিনেজ

7
টুইটারে কমান্ডটি লগইন শেল দ্বারা সম্পাদিত হয়
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

@ মিশেলমার্টিনিজ তার উদাহরণের প্রসঙ্গে, যদি ব্যবহারকারীর শেলটি থাকে /sbin/nologinতবে ব্যবহারকারী মেশিনে লগইন করতে বা কমান্ড কার্যকর করতে পারবেন না। ক্রোনজবসগুলি ব্যবহারকারী হিসাবে চালানো যেতে পারে এবং sftpসেশনগুলি খোলার জন্য কনফিগার করা যায় তবে এসএসএসের মাধ্যমে শেল খোলার ঘটনা ঘটবে না
ক্রিক

উত্তর:


17

সেট /sbin/nologinব্যবহারকারীর শেল হিসাবে (অথবা /bin/falseঅথবা /bin/true, যা হয় প্রায় সমতুল্য ) লগিং কোনো কমান্ড সবটা চালানোর জন্য ব্যবহারকারীকে করতে বারণ করে। এসএসএইচ সর্বদা কমান্ডগুলি চালনার জন্য ব্যবহারকারীর লগইন শেলকে অনুরোধ করে, তাই আপনাকে লগইন শেলটি এমন একটিতে সেট করতে হবে যা কিছু কমান্ড চালাতে সক্ষম হয়।

বেশ কয়েকটি নিষিদ্ধ শেল রয়েছে যা ব্যবহারকারীদের কেবল কয়েকটি কমান্ড চালানোর অনুমতি দেয়। উদাহরণস্বরূপ rssh এবং scponly যেমন উভয় শাঁস ব্যবহারকারীকে কয়েক পূর্বনির্ধারিত কমান্ড চালানোর জন্য (যেমন অনুমতি দেয় scp, sftp-server, rsync, ...)। আরও দেখুন লিনাক্স ব্যবহারকারী অ্যাক্সেস সীমাবদ্ধ এবং আপনি SCP- র জন্য একটি শেল প্রয়োজন?


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

1

উত্তরটি হ'ল মনে হচ্ছে।

ssh user@machine [command]

জায়গায় ssh কী সহ কেবল ফলাফলগুলি:

This account is currently not available

কমান্ড কার্যকর করার পরিবর্তে, মনে হচ্ছে আমাকে এটিকে ব্যাশের অ্যাক্সেস দিতে হবে।


-4

আমি জানি না যে এটি সম্ভব কিনা (যদিও এটি পরীক্ষা করা সহজ হওয়া উচিত) তবে এমন একটি বৈশিষ্ট্য রয়েছে যা সম্ভবত আপনার প্রশ্নের উত্তর একটি নির্দিষ্ট উপায়ে দেয় এবং যে কোনও ক্ষেত্রে আপনার সমস্যা সমাধান করে।

আপনি কী লাইনে একটি কমান্ড যুক্ত করতে পারেন authorized_keys। সেক্ষেত্রে এই কমান্ড কার্যকর করা হয়েছে, আর কিছুই নয়। আমি ধরে নিই যে এটি /sbin/nologinযেমন শেলটিকে যেভাবেই উপেক্ষা করা উচিত with

তবে আপনার অনুমতি দেওয়া প্রতিটি কমান্ডের জন্য আপনার আলাদা কী দরকার হবে।


দুর্ভাগ্যক্রমে আমার যে সমাধানটি প্রয়োজন তা এর চেয়ে আরও নমনীয় হতে হবে
সেন্টিমানে

যদি এটি পরীক্ষা করা সহজ হয় তবে উত্তর লেখার আগে আপনার এটি পরীক্ষা করা উচিত।
মাইকেল মার্টিনেজ

@ মিশেলমার্টিনেজ জিজ্ঞাসার আগে সহজ পরীক্ষা করা প্রশ্নকারীর কাজ। এটি লক্ষ্য করা মুশকিল নয় যে প্রশ্নের উত্তর দেয়নি তবে সমস্যার কারণ হিসাবে একটি সমস্যার প্রস্তাব দিয়েছে। যা উত্তর হিসাবে পুরোপুরি উপযুক্ত। ডাউনভোটিংটি কেবল বোকা। আপনি কি উত্তরটি প্রথম অনুচ্ছেদ ছাড়া সমালোচনা করবেন? যথাযথভাবে।
হউক লেগেছে

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