SSH सार्वजनिक कुंजी के अंत में बराबर चिह्न = या == का क्या अर्थ है?


39

मैंने अभी देखा कि मेरे अधिकृत_की में अधिकांश ssh pubkeys == या = पर समाप्त होते हैं

उदाहरण के लिए

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9ZUwxXn2HZAAUswoaV8t2sQPvolVWDI053f0giNN154Zyi9FtWJKvyLHXoxW4IzFxgx+m6EYqXG/XCtfamLhwvGZv9FXkgQKeF6HJv/rjyKRBHPRyX0vV4S9uQU+xQV7f0Ock3urSzbUyoCgngA8Ax6AkYGmMTLLjx1HOBO/TJ477aysWt4IAg1gviT50I4xOYiHT4vC67czoDTnPl0UfKQJaM0+6WrneK7FJbd/8CAX7P7IxOhj1OxVbnEoh9FvecLbSDdOx/LF+kJcav/LThuoG7NR+Y+rS9lNkta3/KPi3IBMPum+bZpXJF7fkHl9Kx/iOMitT7KjNW/mty74xw== foo@bar

हालांकि आज मैंने अंत में एक समान चिन्ह के बिना एक प्यूबिक को देखा। इसके अलावा, मैंने देखा कि केवल एक जगह जहां एक कभी एक प्यूब्स में होता है, अंत में होता है और कभी भी कहीं और नहीं होता है।

अब मैं बस इस बात के लिए उत्सुक हूं कि एक पब कुंजी के अंत में शून्य, एक या दो समान संकेतों का क्या मतलब है?

जवाबों:


50

मेरा मानना ​​है कि कोई तकनीकी कारण नहीं है, यह बस आधार की एक कलाकृति और स्ट्रिंग की लंबाई है। किसी भी बेस 64 एनकोडर के साथ इसे आज़माएं

1     -> MQ==     (1 characters, 2 equals)
12    -> MTI=     (2 characters, 1 equals)
123   -> MTIz     (3 characters, 0 equals)
1234  -> MTIzNA== (4 characters, 2 equals)
[repeat]

लेकिन मैं इस बारे में गलत हो सकता है


18
+ यह base64 एन्कोडिंग है, इसके बारे में कुछ खास नहीं है। बेस64 # पैडिंग पर विकिपीडिया लेख
क्रिस एस

2
दिलचस्प है कि संबंधित RFC ietf.org/rfc/rfc4716.txt इस का उल्लेख नहीं करता है, जो आपको सही होने का सुझाव दे सकता है।
dunxd

@dunxd मैंने केवल उस RFC के माध्यम से स्कैन किया है, लेकिन मेरा मानना ​​है कि फ़ाइल के बजाय .pub फ़ाइल को संदर्भित करता है authorized_keys, हालांकि मुझे लगता है कि वही स्थिति लागू होती है। चूँकि कुंजी द्विआधारी डेटा है लेकिन फ़ाइल को टेक्स्ट होना चाहिए, बेस 64 उस मुद्दे को हल करता है
स्मज करें

5
@dunxd: RFC का कहना है कि यह बेस 64 एन्कोडिंग का उपयोग करता है, और बेस 64 के बारे में पढ़ने से यह स्पष्ट हो जाता है कि यह अंत में पैड करता है =
क्रिस्टोफर हैमरस्ट्रॉम

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.