Функция упрощающая доступ к ftp/ssh серверу elisp

Для подключения к своим удаленным серверам я создал функцию, которая упрощает этот процесс.

(defun connect-remote (host)
  "HOST - переданный хост или алиас.
Функция подключения к удаленному хосту."
  (interactive "sНазвание хоста: ")
  (load "~/my-connections.el")
  (setq host (funcall (intern "my-remote-connections") host))
  (dired (concat"/" host ":/")))
 
Эта функция загружает файл my-connections.el из домашней директории, в этом файле должна быть определена следующая функция:

(defun my-remote-connections (host)
  "HOST - текущее значение хоста.
Функция хранящая данные о моих подключениях.
К удаленным хостам."
  (let ((to-return nil))
    (if (equal host "1")
        (setq to-return "ftp:kosuha606@123.123.123.123"))
    (if (equal host "2")
        (setq to-return "ftp:something@132.132.132.132"))
  to-return))
 
В этой функции в условиях должны быть перечислены хосты к которым вы подключаетесь.

Для того, чтобы сохранить свои пароли на доступ к хостам можно использовать файл .authinfo.

Файл с функциями my-connections.el можно защифровать при помощи GPG и тогда ваши учетные данные будут неплохо защищены.

Комментарии

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

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

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