क्या बैश मुझे बता सकता है कि किस SSH पब्लिक की को ऑथेंटिकेट करने के लिए इस्तेमाल किया गया था?


14

मान लीजिए कि मैं अपने rootउपयोगकर्ताओं को ट्रैक करना चाहता हूं । उनमें से प्रत्येक के पास एक अद्वितीय निजी कुंजी है और उनकी सार्वजनिक कुंजी को संग्रहीत किया गया है /root/.ssh/authorized_keys

यह देखते हुए कि प्रत्येक उपयोगकर्ता अपनी अनूठी कुंजी के साथ लॉग इन करता है, मैं कैसे BASH सत्र के भीतर से बता सकता हूं कि किस कुंजी का उपयोग प्रमाणित करने के लिए किया गया था? जब मैं लॉग इन करता हूं तो मैंने पर्यावरण चर को देखने की कोशिश की है, लेकिन अपने सार्वजनिक कुंजी के साथ अपने सत्र को सहसंबंधित कुछ भी नहीं देख सकता।


थोड़ा संबंधित: अपने (Opensh) sshd_config में LogLevel VERBOSE सेटिंग लॉगिन करने के लिए उपयोग की जाने वाली कुंजी के फिंगरप्रिंट को लॉग करेगा।
औरोल

जवाबों:


21

आप ~/.ssh/authorized_keysसर्वर पर सार्वजनिक कुंजी में उपयोगकर्ता नाम जोड़ सकते हैं और इसे पर्यावरण मूल्य के रूप में निर्यात कर सकते हैं:

environment="REALUSER=realusername" ssh-dsa AAA...

यह पर्यावरण चर आरईएलयूएसईआर को सेट करेगा जो बाद में बाश में उपयोग करने के लिए उपलब्ध होगा। यह केवल तभी काम करेगा जब इसमें PermitUserEnvironmentसही किया जाएगाsshd_config


हाहाहा .. सच में? ठंडा! आप में मतलब है ~/.ssh/authorized_keys? मुझे इस बारे में कभी नहीं पता था।
पीपी।

5
हाँ, यह बात है। आप वहां बहुत सारी दिलचस्प चीजें कर सकते हैं - man sshआपको शीर्षक के तहत अधिक बताएंगे AUTHORIZED_KEYS FILE FORMAT
जेनी डी

4
यह संस्करण पर निर्भर हो सकता है, लेकिन मुझे अनुभाग man sshdखोजने के लिए उपयोग करना था AUTHORIZED_KEYS FILE FORMAT
मैथ्यू क्रुमले

2
ध्यान रखें कि PermitUserEnvironment को सक्षम करने के कुछ सुरक्षा निहितार्थ हैं। पढ़ें आदमी sshd
फ्लोरिन आंद्रेई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.