Доброго времени суток, уважаемые читатели!
В этой статье речь пойдёт об использовании доступа к SFTP серверам через ключ авторизации.
Хочу сразу отметить, что способ подключения достаточно похож с FTP, но имеет ряд нюансов с которыми придётся столкнуться.
Во-первых, для доступа к SFTP потребуется полностью установленный клиент
Putty.
Во-вторых, требуется прописать путь к тому же Putty в системной переменной PATH.
В-третьих, нужно знание (синтаксиса) команд, которые передаются через psftp.exe.
Итак, общая схема подключения к серверу SFTP аналогична с FTP.
Для этого используется следующая структура:
FILENAME fileref SFTP 'external-file' <sftp-options>;
Основные настройки можно прочитать
тут.
Пример:
filename example sftp "
name"
cd="
path"
host="
hostname"
options = '
options'
user="
username"
debug;
К сожалению, этого куска кода не достаточно, чтобы работать с SFTP. Всё дело в том, что разобраться с параметром
options требует немало времени. По крайней мере до версии SAS 9.4.
В этот параметр записываются значения, которые использует программа PSFTP.EXE из стандартного набора putty.
Теперь по порядку:
- Устанавливаем полный клиент Putty.
- Прописываем путь в системной переменной PATH. Например для Windows Server 2008, правой кнопкой по значку мой компьютер -> Advanced System Properties -> Environment Variables. Далее ищем среди системных переменных PATH и добавляем после точки с запятой путь, куда был установлен PUTTY.
- Теперь можно использовать опции для настройки подсоединения по SFTP:
- -V печатает версию и выходит
- -pgpfp печатает PGP fingerprints и выходит
- -b file использует batch файл (*.bat)
- -bc выводит на экран команды из batch файла
- -be игнорирует ошибки работы batchfile
- -v выводит подробные сообщения (лог)
- -load sessname использует данные предыдущей sessname (подключения)
- -l user соединение по определённому пользователю
- -P port соединение по определённому порту
- -pw passw соединение по определённому паролю
- -1 -2 использование SSH протокола версии 1 или 2
- -4 -6 использование IPv4 или IPv6
- -C использование компрессии
- -i key private key для аутентификации
- -noagent запрет использования Pageant
- -agent использование Pageant
- -batch запрет на любые интерактивные запросы
В итоге, приведу пример кода, если вы используете аутентификацию по ключу, подсоединяетесь по имени пользователя и определённому порту.
Пример кода для параметра options: