Не уверен, какие страницы вы просматривали, но на следующей странице веб-сайта CentOS перечислены шаги, которые выглядят примерно так же, как и у вас:
https://wiki.centos.org/HowTos/MigrationGuide
Итак, да, все должно быть так просто.
Использование base64 бесполезно, это простое преобразование. Использование шифрования с ключом, который хранится вместе с зашифрованными данными, также бесполезно, потому что это все равно простое преобразование. Если вы беспокоитесь о том, что кто-то получит доступ к вашим конфигурационным файлам, то вам нужно шифровать ключом, которого нет в ваших конфигурационных файлах, а это означает, что вам придется вводить пароль¹ при входе в систему.
Вместо того чтобы создавать свой собственный, используйте существующий механизм шифрования.
В Linux, если вы выбираете шифрование файлов, зашифруйте ваш домашний каталог с помощью eCryptfs, или зашифруйте весь диск с помощью уровня шифрования диска в Linux (dm-crypt, команда cryptsetup
), или создайте небольшую файловую систему с шифрованием каждого файла с помощью encfs. В последнем случае необходимо иметь сценарий, который монтирует файловую систему encfs, а затем запускает хранящийся в ней сценарий.
В Windows поместите файл на TrueCrypt/VeraCrypt.
В качестве альтернативы используйте менеджер паролей (разумеется, установите главный пароль). Менеджер паролей Gnome (gnome-keyring) можно запросить из командной строки с помощью утилиты secret-tool
. Seahorse предоставляет удобный графический интерфейс для изучения и изменения связки ключей и установки главного пароля.
secret-tool store --label='Corporate web proxy password' purpose http_proxy location work.example.com
export http_proxy="http://cman:$(secret-tool lookup purpose http_proxy location work.example.com)@192.0.2.3/"
Для этого требуется D-Bus, который обычно доступен по умолчанию в Linux (большинство современных настольных сред требуют его), но должен быть запущен вручную в Cygwin (я не знаю точно, как).
¹ или иным образом предоставить секретный материал, например, хранящийся на смарт-карте.
Я нашел решение: добавление openssl enc -aes-128-cbc -a -d
к смеси. Однако, как упоминалось в принятом ответе , этот вариант, вероятно, не очень безопасен.
Во-первых, введите здесь комбинацию имени пользователя и пароля (или эквивалент в кодировке base64),
echo "<put it here>" | openssl enc -aes-128-cbc -a
Он запросит пароль дважды. Этот пароль является паролем, который вам нужно будет вводить каждый раз, когда устанавливается http_proxy
.
Затем в .babunrc
(или где бы вы его не указали),
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d`@20.20.20.20:20/"
Если вход был закодирован в base64, вам понадобится это вместо этого:
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d | base64 -d`@20.20.20.20:20/"
Если <выход из Вышеупомянутая команда>
имеет новую строку, \ n
будет работать для нее.