Ssh লগইন হুক?


15

কোনও ব্যবহারকারী এসএসএস ব্যবহার করে প্রতিবার সংযুক্ত হওয়ার সাথে সাথে কোনও স্ক্রিপ্ট / কমান্ড চালানোর কোনও উপায় আছে কি? এটি বিশ্বব্যাপী কনফিগার করা যেতে পারে (যেমন কোনও ব্যবহারকারী লগইন করার সময় স্ক্রিপ্টটি চালান )?

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

উত্তর:


11

সমস্ত ব্যবহারকারী, বা একটি নির্দিষ্ট ব্যবহারকারীর জন্য? একটি একক ব্যবহারকারীর জন্য, তাদের .bashrcফাইলে এটি সেট করুন; সমস্ত ব্যবহারকারীর জন্য, pam_exec দেখুন

যদি ব্যবহারকারীরা আগত হয় sshd, আপনি নিম্নলিখিত লাইনটিতে যুক্ত করতে চান /etc/pam.d/sshd; অন্যান্য উত্সগুলি তাদের উত্সের উপর নির্ভর করে:

session optional pam_exec.so seteuid  /path/to/my/hook.sh

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

দ্রষ্টব্য: আপনি যখনই লগইন কনফিগারেশনটি পরিবর্তন করেন তখনই ব্যাকগ্রাউন্ডে একটি ব্যাকআপ শেল খোলা রেখে নতুন টার্মিনাল থেকে লগইনটি পরীক্ষা করুন।


ধন্যবাদ, এটি আশাব্যঞ্জক মনে হচ্ছে। আপনি কি আরও কিছু ব্যাখ্যা করতে পারেন? আমি এর সাথে অপরিচিত।
ফুনেহে

আমি মনে করি যে আমার session include pam_exec.so seteuid /path/to/scriptফাইলটি যুক্ত করা উচিত /etc/pam.d/system-remote-login। এটা কি ঠিক?
ফুনেহে

হয় system-remote-loginবা sshd, ব্যবহারকারী কীভাবে আসছেন তার উপর নির্ভর করে
গ্লেন সলসবেরি

অসাধারণ! যদি আপনি তথ্যটি অন্তর্ভুক্ত করার জন্য উত্তরটি সম্পাদনা করেন (তবে আপনি এটি জানেন যারা অন্যদের জন্য জানেন) great
ফুনেহে

Googling লোকদের নোট, সেই জন্যই এই লাইন লাগাতে পারেন auth optional pam_exec.so /path/to/my/hook.shমধ্যে /etc/pam.d/common-authপিএএম কোনো প্রমাণীকরণ ঘটনা ঘটতে ব্যাপারে আপনাকে অবগত করাতে আছে। এই প্রোগ্রামটি আপনাকে পুশ নোটিফিকেশনগুলিও পাঠাতে পারে: github.com/benjojo/PushAlotAuth
নিক সুইটিং

6

স্থানীয়ভাবে নয় বরং এসএসএস ব্যবহারকারী ব্যবহারকারীদের প্রভাবিত করার একটি অন্য উপায় রয়েছে (যা জরুরি পরিস্থিতিতে আরও ভাল হতে পারে)

নীচে ssh ম্যান পৃষ্ঠা থেকে স্নিপেটগুলি দেখুন।

এক্ষেত্রে ব্যবহারকারীরা সাধারণত ফাইলগুলি নিজেরাই সংশোধন করতে পারেন (কিছুটা .bashrc এর মতো)

 ~/.ssh/rc
         Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started.  See the sshd(8) manual page for more information.

এবং এটি বিশ্বব্যাপী এবং সাধারণ ব্যবহারকারীর দ্বারা পরিবর্তনযোগ্য নয়

 /etc/sshrc
         Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started.  See the sshd(8) manual page for more information.

2
তবে / ইত্যাদি / এসএসসিআরসি কেবল তখনই কার্যকর করা হবে যদি ব্যবহারকারীর নিজস্ব ~ / .ssh / আরসি না থাকে, সুতরাং এই ব্যবহারকারী বাইপাস করতে পারবেন
isevcik

2
@ আইসভিসিক, কেবলমাত্র যদি পারমিট ইউজারআরসি "হ্যাঁ" সেট করা থাকে /etc/ssh/sshd_config( man sshd_configবিশদ বিবরণ দেখুন)
জেরেমিসপ্রাইফিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.