git-ftp SFTP Настройка передачи изменений через ssh с использованием ключа вместо пароля
Primary tabs
Что предлагается сделать
В целом секция конфигурируется как и при передаче через FTP, но:
- если пароль не требуется, то его можно не указывать
- дополнительно указать путь к файлу ключа (приватного)
- в url указать протокол sftp
- поправить исходный код git-ftp -- возможно, в будущем это не будет требоваться, но на момент создания этой заметки по другому завести git-ftp SFTP не получилось. Главная идея правки -- выключить использование отдельного открытого ключа.
+
Настройка -- правки в .git/config
Мы будем использовать приватный ключ с расширением .pem (из такого можно извлечь открытый).
В .git/config локальной копии репозитория добавим данные для нового подключения, назовём его, скажем, "amazon-test":
[git-ftp "test"]
user = sberstrah
url = "88.70.34.227//home/sua/"
password = "sbe014"
[git-ftp "amazon-test"]
user = centos
url = "sftp://52.24.38.31//home/centos/test/"
key = D:\\myone\\k\\aws_sberam.pem
-- обратите внимание, здесь секция "test" сконфигурирована под использование ftp, а секция "amazon-test" под использование sftp.
Правка исходников (сначала попробуйте без этого)
Правка скачанного файла
В файле git-ftp, который лежит по адресу, в который вы клонировали с гитхаба (или клонируйте ещё раз, если не можете найти) проект при установке находим фрагмент:
write_log "Using ssh public key file $CURL_PUBLIC_KEY" REMOTE_CMD_OPTIONS="$REMOTE_CMD_OPTIONS --key $CURL_PRIVATE_KEY --pubkey $CURL_PUBLIC_KEY "
и меняем:
REMOTE_CMD_OPTIONS="$REMOTE_CMD_OPTIONS --key $CURL_PRIVATE_KEY --pubkey $CURL_PUBLIC_KEY "
на :
REMOTE_CMD_OPTIONS="$REMOTE_CMD_OPTIONS --key $CURL_PRIVATE_KEY " #--pubkey $CURL_PUBLIC_KEY
-- выключаем использование публичного ключа, по тому же принципу что и для curl.
В принципе, можно изменить и выводимый в консоль комментарий -- написать, например:
write_log "NOT Using ssh public key file $CURL_PUBLIC_KEY -- get it from private"
Копирование в "исполняемую" директорию
В т.ч. в git bash на windows скопируем исправленный файл git-ftp в секцию исполняемых файлов /bin/ (иначе изменения не применятся), для этого нам потребуется команда вроде:
cp /c/progs/git/git-ftp/git-ftp /bin/git-ftp
-- это в случае если на файле уже есть необходимые права иначе предварительно выполните в диретории расположения файла:
chmod +x git-ftp
Итак мы обновили код git-ftp, осталось настроить доступ к серверу через SFTP c использованием приватного ключа.
- Log in to post comments
- 4753 reads