LFTP: сохранить имя пользователя / пароль для конкретного сервера?
Могу ли я сохранить пару имя пользователя / пароль для FTP-сервера в каком-то локальном файле конфигурации, чтобы lftp
найдет их автоматически при подключении к этому серверу?
Предыстория: у меня есть скрипт, который будет использоваться несколькими пользователями с разными парами имя пользователя / пароль для синхронизации сгенерированного содержимого из репозитория на ftp-сервер. Было бы неплохо не вводить наши имена пользователей / пароли вручную каждый раз. Поскольку пароли ftp отправляются в виде открытого текста, мы все используем для этого пароли с низким значением, поэтому хранение паролей в открытом тексте в локальном файле конфигурации допустимо.
2 ответа
Вы можете использовать файл ~/.netrc или закладки lftp.
Добавьте что-то вроде этого в ~/.netrc:
machine your.server.example.com login your_login password your_password
Затем lftp выберет пароль при открытии ftp://your_login@your.server.example.com и будет автоматически использовать your_login при открытии "your.server.example.com" без синтаксиса URL.
При использовании закладок выполните "set bmk: save-passwords true" (по умолчанию false), затем сохраните текущий сеанс в закладки под именем, затем "open bookmark_name" будет использовать пару логин / пароль. Файл закладок представляет собой простой текст, поэтому вы можете даже добавить URL с логином / паролем в любом текстовом редакторе. Чтобы использовать общие закладки для всех пользователей, установите переменную среды LFTP_HOME в общий каталог.
Еще несколько подробностей о закладках lftp:
Сначала добавьте строку set bmk: save-passwords yes в основной файл конфигурации lftp /etc/lftp.conf.
Теперь каждый пользователь может добавить свою собственную закладку:
lftp -c "добавить закладку SiteName ftp://user:password@sitename.com/path"
При использовании lftp в скрипте просто используйте: lftp -c "open SiteName && lcd MyLocalDir && mput./" *