https://github.com/arkuznetsov/clientssh
sshlib для oscript
https://github.com/arkuznetsov/clientssh
csharp onescript oscript ssh
Last synced: 9 months ago
JSON representation
sshlib для oscript
- Host: GitHub
- URL: https://github.com/arkuznetsov/clientssh
- Owner: arkuznetsov
- License: mit
- Created: 2018-06-17T20:12:10.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-28T18:24:07.000Z (over 1 year ago)
- Last Synced: 2025-04-08T14:12:17.615Z (10 months ago)
- Topics: csharp, onescript, oscript, ssh
- Language: C#
- Homepage:
- Size: 127 KB
- Stars: 18
- Watchers: 6
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/ArKuznetsov/clientSSH/releases)
[](https://github.com/ArKuznetsov/clientSSH/blob/develop/LICENSE)
[](https://github.com/ArKuznetsov/clientSSH/releases)
[](https://github.com/ArKuznetsov/clientSSH/releases)
[](https://github.com/arkuznetsov/clientSSH/actions/)
[](https://open.checkbsl.org/dashboard/index/clientSSH)
[](https://open.checkbsl.org/dashboard/index/clientSSH)
[](https://open.checkbsl.org/dashboard/index/clientSSH)
# Oscript SSH client
## SSH клиент для oscript
## Примеры использования
### SSH клиент
```bsl
#Использовать ClientSSH
КлиентSSH = Новый КлиентSSH("127.0.0.1", 22, "user", "password");
Соединение = КлиентSSH.ПолучитьСоединение();
Результат = Соединение.ВыполнитьКоманду("echo 123");
Соединение.Отключиться();
```
### Клиент для конфигуратора в режиме Агента
Запустить конфигуратор в режиме агента:
`
1cv8.exe DESIGNER /F"<ПутьКБазе>" /AgentMode /Visible /AgentSSHHostKeyAuto /AgentBaseDir "<ПутьКПапкеВыгрузки>"
`
```bsl
#Использовать 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 с ключом
```bsl
#Использовать ClientSSH
КлиентSSH = Новый КлиентSSH("127.0.0.1", 22, "user", "");
КлиентSSH.УстановитьКлюч("ПутьКСекретномуКлючу", "СекретнаяФраза");
Соединение = КлиентSSH.ПолучитьСоединение();
Результат = Соединение.ВыполнитьКоманду("echo 123");
Соединение.Отключиться();
```
### Передача файлов
```bsl
#Использовать 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-файла
```json
{
"usersInfo": [
{
"name": "Администратор",
"dir": "0"
}
]
}
```
