SkillAgentSearch skills...

ClientSSH

sshlib для oscript

Install / Use

/learn @arkuznetsov/ClientSSH
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub release GitHub license GitHub Releases GitHub All Releases

Build Status Quality Gate Coverage Tech debt

<a href="https://checkbsl.org"><img alt="Checked by Silver Bulleters SonarQube BSL plugin" src="https://web-files.do.bit-erp.ru/sonar/b_t.png" align="right" style="width:400px"/></a>

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.ПолучитьПоток();

// Следующие строки обязательны, иначе скрипт зависает
// вариант для 8.3.16 и выше
Результат = Поток.ЗаписатьВПоток("options set --show-prompt=no");
// вариант для 8.3.15 и ниже
Результат = Поток.ЗаписатьВПоток("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.Отключиться();

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

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

Пример json-файла

{
"usersInfo": [
{
"name": "Администратор",
"dir": "0"
}
]
}
View on GitHub
GitHub Stars18
CategoryDevelopment
Updated1y ago
Forks10

Languages

C#

Security Score

75/100

Audited on Oct 5, 2024

No findings