প্রমাণীকরণে ব্যবহৃত পাবলিক কী লগ করতে ওপেনএসএইচ পাওয়া সম্ভব?


27

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

নিরীক্ষণের উদ্দেশ্যে আমি কবে লগ ইন করেছি তা বলতে সক্ষম হতে চাই এবং আমরা লগ ইন করতে এসএসএইচ কীগুলি ব্যবহার করে এটি ট্র্যাক করা যৌক্তিক বলে মনে হয় (যেহেতু ট্র্যাক করার জন্য অন্য কোনও শনাক্তকারী নেই)।

যখন এসএসএইচ কোনও ব্যবহারকারীকে প্রমাণীকরণ করে, তখন এটি ব্যবহারকারীর নামটি সিস্টেমের সুরক্ষার লগটিতে লগ করে, তবে লগ ইনে কোন অনুমোদিত পাবলিক কী ব্যবহার করা হয়েছিল তা লগ করে না which বা সম্ভবত যে কী সাথে যুক্ত মন্তব্য?

অপারেটিং সিস্টেমটি ব্যবহৃত হচ্ছে সেন্টোস 5.6, তবে আমি অন্যান্য অপারেটিং সিস্টেমে এটি সম্ভব কিনা তাও শুনতে চাই।

উত্তর:


33

আপনি যদি / etc / sshd / sshd_config এ VERBOSE এ লগলিভেল উত্থাপন করেন তবে এটি ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহৃত পাবলিক কীটির ফিঙ্গারপ্রিন্ট লগ করবে।

LogLevel VERBOSE

তারপরে আপনি এই জাতীয় বার্তা পান

Jul 19 11:23:13 centos sshd[13431]: Connection from 192.168.1.104 port 63529
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13432]: Postponed publickey for user from 192.168.1.104 port 63529 ssh2
Jul 19 11:23:13 centos sshd[13431]: Found matching RSA key: 54:a2:0a:cf:85:ef:89:96:3c:a8:93:c7:a1:30:c2:8b
Jul 19 11:23:13 centos sshd[13431]: Accepted publickey for user from 192.168.1.104 port 63529 ssh2

তুমি ব্যবহার করতে পার

 ssh-keygen -lf /path/to/public_key_file

একটি নির্দিষ্ট পাবলিক কী এর ফিঙ্গারপ্রিন্ট পেতে।


2
ধন্যবাদ! authorized_keysফাইলটির বিপরীতে আমাকে মূল ফিঙ্গারপ্রিন্টগুলি নিশ্চিত করতে হবে, তাই অনুমোদিত কীগুলির আঙুলের ছাপগুলি মুদ্রণের জন্য আমি এই ছোট স্ক্রিপ্টটি তৈরি করেছি:(p="$(mktemp)";cat ~/.ssh/authorized_keys|while IFS="$(printf "\n")" read key; do echo $key > $p; ssh-keygen -lf $p; done; rm -f $p)
জুলুস

আমি লক্ষ্য করেছি যে এসএসএইচ এখন প্রতিটি লগইনের জন্য দু'বার কীটি লগ করে - কেন এবং / অথবা কীভাবে এটি একবারে লগ ইন করতে হবে?
গাস

কেন, এটি সেই স্তরের স্তরের সাথে আমি পরিচিত নই। আপনি কি থামাতে পারবেন, সোর্স কোডটি দিয়ে পোকার বাইরে নাও।
ব্যবহারকারী 9517 GoFundMonica

2
এই থ্রেডটি প্রাসঙ্গিক দেখাচ্ছে। এটি দুটি মিলের কীটি খুঁজে পেয়েছে: একবার কীটি গ্রহণযোগ্য হবে কিনা তা নির্ধারণ করতে, তারপরে ক্লায়েন্টের স্বাক্ষরটি যাচাই করার জন্য দ্বিতীয়বার।
এমপোনটিলো

3

যদি আপনার লোকেরা ssh- এজেন্ট ব্যবহার করে থাকে তবে আপনি এটি আপনার .bashrc এ রাখতে পারেন:

SSH_KEY_NAME=$(ssh-add -L | cut -d' ' -f 3 || 'unknown')
if [[ ! $SSH_KEY_NAME ]]; then SSH_KEY_NAME="no agent"; fi
echo `/bin/date` $SSH_KEY_NAME >> ~/.login.log

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

0

LogLevelপ্যারামিটারটি ভিতরে নিয়ে খেলার চেষ্টা করুন sshd_config। বিশদ জন্য, দেখুন man sshd_config


0

একটি সুন্দর ব্লগ পোস্ট আপনার প্রশ্নের উত্তর দেয়: http://www.screenage.de/blog/2012/02/10/how-to-log-history-and-logins-from-m Multipleple-ssh-keys-und- one- ব্যবহারকারী-অ্যাকাউন্ট-সঙ্গে-পুতুল /


3
সার্ভার ফল্ট আপনাকে স্বাগতম! সাধারণত সাইটটিতে উত্তরগুলি নিজেরাই দাঁড়াতে সক্ষম করতে আমরা পছন্দ করি - লিঙ্কগুলি দুর্দান্ত, তবে যদি সেই লিঙ্কটি কখনও ভেঙে যায় তবে উত্তরটি এখনও সহায়ক হতে পারে enough আরও বিস্তারিত অন্তর্ভুক্ত করতে দয়া করে আপনার উত্তর সম্পাদনা বিবেচনা করুন। আরও তথ্যের জন্য FAQ দেখুন ।
slm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.