私はUbuntuサーバーを試しており、OpenLDAPサーバーにOpenSSHキーを保存しています。これを達成する方法の十分な例があります。良いソースはこれ。どういうわけか私のキーはBase64エンコーディングで返されます。ソースによると、これは保存されたキーの末尾の改行文字によって引き起こされる可能性があることを発見しました。私はこれが私の問題ではないと確信しています。この問題をどのように解決できますか?
答え1
LDAP出力のBase64エンコーディングは問題ではなく、「修正」する必要はありません。これは、LDAPデータをテキスト形式で表現するためのLDIF形式構文の一部です。
LDIF出力でBase64でエンコードされたデータの前には、単一コロンの代わりに二重コロンが表示されます。
key1: value1
key2:: dmFsdWUy
この例では、最初の値(value1
)はプレーンテキストで表示され、2番目の値(value2
)はbase-64でエンコードされています。
LDIFに出力される値にLDIF構文に存在できない特殊文字が含まれている場合、出力ツールはBase 64エンコーディング機能を使用する必要があります。これが挿入された改行文字を含む値をエンコードする必要がある理由です。ただし、ツールは必ず必要な場合にのみエンコード機能を使用するように制限されず、実際のスペースを値に挿入せずに長い値を複数行に分割するなど、何らかの理由で使用できます。 SSHキーの品質はもちろん、スペースがほとんどない長い文字列と同じです。
LDIFを解析するツールは、ダブルコロンを認識し、エンコードされた値が表示されるたびに正しくデコードする必要があります。
答え2
Seradaの答えは合理的に聞こえますが、私の場合は問題になりません。最初はphpldapadminを使ってキーを追加しましたが、ソフトウェアはキーの最後に何かを追加してbase64エンコーディングをトリガーしました。キーを削除し、webminを使用して再度追加しましたが、今回はキーがプレーンテキストで返されます。