Настройка .netrc.gpg в Emacs

Очень мало информации по настройке зашифрованного .netrc.gpg и его взаимодейсвия с Emacs в Интернете на русском языке. Я кое-как смог настроить это и решил здесь записать на всякий случай, может быть кому-нибудь пригодится.
Что такое .netrc файл прекрасно описано в этой статье. Для тех кто не знает английского просто скопируйте синтаксис этого файла и обязательно установите на него права 600.
Дальше. Что такое GPG хорошо расписано вот в этой статье. Эта статья с уклоном в сторону emacs, но думаю если ее внимательно почитать, то она хорошо освещает работу с GPG вне emacs.

Что делал я при настройке?

Во первых я создал файл .netrc с соответствующим синтаксисом и назначил ему права 600.
Синтаксис файла:
machine ftp.freebsd.org
    login mylogin
    password edwin@mavetju.org
Команда присвоения прав:
$ chmod 600 .netrc
После этого проверим заработает ли наше подключение к хосту, например таким способом:
В emacs запустим M-x и введем:
dired -> /ftp:mylogin@ftp.freebsd.org:/
После этого вход на ftp должен произойти автоматически.

Шифруем файл .netrc

Дальше для защиты наших конфиденциальных данных необходимо зашифровать файл .netrc.
В моем случае у меня не получилось сделать так, чтобы система нормально воспринимала .netrc.gpg файл, поэтому мне пришлось создать симлинк .netrc.gpg -> .netrc. Но я прыгнул вперед, начнем сначала.
1. Генерируем RSA ключ:
$ gpg --gen-key
Отвечаем на вопросы утилиты и не забываем свою passprase.
2. Заходим в emacs и создаем файл .netrc.gpg с тем же содержимым, что и .netrc файл. При сохранении файла emacs спросит как шифровать файл. выбираем из списка наш ключ нажатием клавиши m и нажимаем на кнопку [OK]. После этого защифрованный файл будет создан
3. Создаем симлинк .netrc.gpg -> .netrc
$ ln -s .netrc.gpg .netrc
После этого проверяем тем же способом с помощью dired подключение к ftp серверу, в этот раз emacs должен спросить у вас passprase, вводим и попадаем на свой фтп сервер.
В общем это все, надеюсь хоть кому-нибдь я помог.
Дополнительные ссылки по теме: GNUS Emacs Wiki

.netrc не работает с ssh

К сожалению таким способом можно покдлючаться только по ftp соединению, если вы хотите использовать ssh, то вы можете настроить соединение вот таким образом.

Комментарии

Популярные сообщения из этого блога

Установка утилиты yandex disk для ubuntu

Отправка пост запроса AngularJS