Вы ключ SSH кодируетесь в Основе 64. Этот формат является наиболее часто используемым в криптографии (и вне), чтобы хранить двоичную информацию в формате ASCII.
И в base64 '=' знак является дополнительным символом с очень определенным значением:
'==' последовательность указывает, что последняя группа содержала только 1 байт, и '=' указывает, что она содержала 2 байта. Пример ниже иллюстрирует, как усечение входа всего выше кавычки изменяет выходное дополнение
источник: http://en.wikipedia.org/wiki/Base64#Padding
На самом деле нет никакого разделителя между ключом и комментарием. SSH знают, что открытый ключ состоит из 3 вещей:
[space][space]
Присутствие пространства в конце открытого ключа является разделителем между ключом и комментарием. Равное '=' знак, который Вы видите просто, указывает на дополнение в конце открытого ключа.
Создание статического двоичного файла должно быть столь же простым как работающий gcc с - статичный, или если ld называют непосредственно использованием-Bstatic. Попробовать
CFLAGS=-static make
после выполнения configure
. Если это перестанет работать, то результаты будут очевидны, например, огромное количество неопределенных ссылок во время ссылки.
Вы также можете получить предварительно скомпилированную версию с помощью static-get
static-get -x gcc
make CFLAGS=-static
сейчас. Сделайте печать некоторым предупреждением оdlopen
, затем, когда я пытаюсь выполнить исполняемый файл в chroot среде, я добираюсь/usr/lib/crt1.o .. crti,o .. crtn.o
не найденный ошибками. Это то, что Вы подразумевали "под неопределенными ссылками во время ссылки"? – math4tots 18.02.2012, 02:56