/oscript-ssh

sshlib для oscript

Primary Language1C EnterpriseMIT LicenseMIT

Oscript SSH client

SSH клиент для oscript

Примеры использования

SSH клиент

#Использовать clientSSH
    
КлиентSSH = Новый КлиентSSH("127.0.0.1", 22, "user", "password");
Соединение = КлиентSSH.ПолучитьСоединение();
Результат = Соединение.ВыполнитьКоманду("echo 123");   
    
Соединение.Разорвать();

Клиент для конфигуратора в режиме Агента

Запустить конфигуратор в режиме агента:
1cv8.exe DESIGNER /F"<ПутьКБазе>" /AgentMode /Visible /AgentSSHHostKeyAuto /AgentBaseDir "<ПутьКПапкеВыгрузки>"

#Использовать clientSSH

КлиентSSH = Новый КлиентSSH("127.0.0.1", 1543, "admin", "");
Поток = КлиентSSH.ПолучитьПоток();
// Обязательно иначе вешается
Результат = Поток.ЗаписатьВПоток("options set --show-prompt=no --output-format=json");
Результат = Поток.ЗаписатьВПоток("common connect-ib");
Результат = Поток.ЗаписатьВПоток("config dump-config-to-files --dir .");
Результат = Поток.ЗаписатьВПоток("common disconnect-ib");

Поток.Разорвать();

Авторизация ssh с ключом

#Использовать clientSSH
    
КлиентSSH = Новый КлиентSSH("127.0.0.1", 22, "user", "");
КлиентSSH.УстановитьКлюч("ПутьКСекретномуКлючу", "СекретнаяФраза");
Соединение = КлиентSSH.ПолучитьСоединение();
Результат = Соединение.ВыполнитьКоманду("echo 123");   
    
Соединение.Разорвать();

Передача файлов

#Использовать clientSSH
    
КлиентSSH = Новый КлиентSSH("127.0.0.1", 1543, "admin", "");
Scp = КлиентSSH.ПолучитьScp();
Scp.ОтправитьФайл("C:\cf\1Cv8.cf", "/1Cv8.cf");

Scp.ПолучитьФайл("/1Cv8.cf", "C:\cf\1Cv8_2.cf");
Scp.Разорвать();

Известные проблемы:

  • Вешается поток если не передать:
    Поток.ЗаписатьВПоток("options set --show-prompt=no --output-format=json");
  • В папке выгрузки создается подпапка с именем пользователя (Особенность режима Агента)