2009-04-07 20 views
7

से तर्क छुपाएं मैं अपने एसएसएच कमांड को अन्य उपयोगकर्ताओं से छुपा/छिपाना चाहता हूं।पीएस

उदाहरण:

ssh [email protected] -i /my/private/key 

दुर्भाग्य से यह ऊपर ps सूची में आ जाएगा और अन्य उपयोगकर्ताओं के निजी कुंजी फ़ाइल है कि मैं का उपयोग कर रहा है देखने के लिए सक्षम हो जाएगा। क्या इसके चारों ओर एक रास्ता है?

+3

निरीक्षण: आप नहीं करना चाहिए यदि आप एक ही रहस्य साझा नहीं करना चाहते हैं तो एक ही लॉगिन आईडी साझा करें। उपयोगकर्ता आईडी व्यक्तियों के लिए हैं, समूहों के लिए नहीं। –

उत्तर

12

यदि वे आपके रूप में लॉग इन हैं, तो मूल रूप से आप उन्हें उस जानकारी को सीखने से रोकने के लिए कर सकते हैं। यदि आप लिनक्स पर हैं तो उन्हें आपकी/proc प्रविष्टियों तक पहुंच होगी और यह जानकारी आसानी से सीख सकती है।

उन्होंने यह भी कर सकते हैं:

  • अपने सभी फ़ाइलों को हटाने के।
  • अपनी कंपनी के सीईओ का अपमान करने के लिए आपके नाम पर मेल भेजें।
  • अपनी सभी फाइलों और कमांड लाइन इतिहास, यदि कोई हो, एक्सेस करें।
  • असंख्य अन्य चीजें।

यह स्वयं को बचाने के लिए एक व्यवहार्य तरीका नहीं है। आपको पहले समान उपयोगकर्ता समस्या को हल करने की आवश्यकता है।

0

की इजाजत दी नहीं उन्हें निजी कुंजी फ़ाइल का स्थान पता करने के लिए (वे के रूप में मैं कर रहा हूँ एक ही उपयोगकर्ता के रूप में लॉग इन किया है) एक सुरक्षा सुविधा के ज्यादा नहीं है - वे वास्तव में पढ़ा है नहीं करना चाहिए पहुँच वैसे भी इससे कोई फर्क नहीं पड़ता कि वे जानते हैं कि यह कहां है या नहीं। सामान्यतः, यदि आपके पास एप्लिकेशन के स्रोत पर नियंत्रण है, तो आप कमांड लाइन तर्क वाले मेमोरी लोकेशन को ओवरराइट कर सकते हैं, ताकि आप उन्हें "निर्दोष" में संशोधित कर सकें।

3

लिनक्स पर, आप कुछ तरह

strncpy(argv[0], "mynewcmdlinehere", strlen(argv[0])); 

खेद करते हैं, अन्य Unices के बारे में पता नहीं है सकते हैं।

+0

इस बारे में नहीं पता था। इतना आसान। धन्यवाद! –

+0

मैंने लिनक्स पर कोशिश की लेकिन पीएस अभी भी 'a.out' दिखाता है। क्या मुझे कुछ याद आया? – hek2mgl

3

छिपाने की कमांड लाइन को एक स्क्रिप्ट की आवश्यकता होगी, इसलिए यह कैच -22 है, क्योंकि अन्य पीपीएल वाले उपयोगकर्ता को उस स्क्रिप्ट तक पहुंच होगी।

समाधान काफी सरल है: पास-वाक्यांश के साथ कुंजी का उपयोग करें।(howto)

+3

पास-वाक्यांश के साथ एक कुंजी का उपयोग करते समय, एक ही उपयोगकर्ता के रूप में चलने वाली दूसरी प्रक्रिया आपके एसएस-एजेंट या एसएसएच प्रक्रिया से पास-वाक्यांश और/या डिक्रिप्ट की गई कुंजी को पढ़ सकती है। एक ही यूआईडी के साथ चल रही प्रक्रियाओं के खिलाफ कोई सुरक्षा नहीं है। – ephemient

0

मेरी स्मृति के पीछे से, मैं इसी तरह के एक लंबे समय पहले

सबसे पहले, एक खोल स्क्रिप्ट बनाने somthing, कहा जाता ps जो ps चलाता है और ssh (या कुछ और मिलान) हों उनके अलावा सभी लाइनों grep जाएगा कर याद और इसे एक सुरक्षित स्थान (~/bin/ps) में रखें

खोज के लिए पहले स्थान के रूप में ~/bin/अपने पथ में जोड़ें।

निश्चित रूप से

, वे अभी भी इस्तेमाल कर सकते हैं/usr/bin/पी एस (या जहाँ भी अपने स्थान है) स्पष्ट रूप से

एक चेतावनी के रूप में, यह सब स्मृति से है और मैं इसे परीक्षण करने के लिए एक यूनिक्स बॉक्स नहीं है पर ... क्षमा करें

+0

यह मूल "पीएस" का उपयोग करने से अन्य "उपयोगकर्ताओं" (जो अज्ञात बुरे कारणों से समान यूआईडी का उपयोग कर रहे हैं) को रोकने के लिए कुछ भी नहीं करता है - न ही इसे रोकने के लिए संभव है। – ephemient

2

भले ही आप कमांड लाइन को छुपाएं, उपयोगकर्ता आपके एसएसएच प्रक्रिया को खोलने वाली सभी फाइलों को देखने के लिए lsof चला सकता है - जिसमें पहचान फ़ाइल शामिल होगी।यदि कमांड लाइन को अस्पष्ट करना वास्तव में अंतिम लक्ष्य है, हालांकि, आप एक एजेंट को शुरू कर सकते हैं, एजेंट में पहचान लोड कर सकते हैं, और उसके बाद उस एजेंट का उपयोग कर ssh। एजेंट द्वारा उपयोग किए जाने वाले सॉकेट का पथ पर्यावरण चर द्वारा controleld है।

हालांकि यह सुरक्षा का कोई मतलब नहीं है। पैक्स सही है - "उसी उपयोगकर्ता के रूप में लॉग इन" मुद्दा वास्तव में हल किया जाना चाहिए। किसी और के खाते का उपयोग बंद करो। ;)

-1

आप कर सकते हैं सेटअप आपके ~/.ssh/कॉन्फ़िग फ़ाइल के माध्यम से अपने निजी कुंजी जो 0700. यहाँ द्वारा सुरक्षित है ~/.ssh/config का उदाहरण है:

Host myhost.com 
    IdentityFile /home/maxcohan/.ssh/github.com.id_rsa 
+1

वह कहता है कि हर कोई एक ही उपयोगकर्ता खाते का उपयोग करता है। chmod काम नहीं करेगा। –

संबंधित मुद्दे