SSH
Команды и файлы на удалённых серверах по SSH
SSH (Secure Shell — защищённый удалённый доступ) — протокол для команд и файлов на сервере по шифрованному каналу. Вход по паролю или закрытому ключу OpenSSH.
С SSH в Pailot вы можете:
- Выполнять команду или многострочный скрипт
- Проверять, есть ли программа на сервере
- Загружать и скачивать файлы, читать и писать содержимое
- Смотреть каталог, создавать и удалять пути, переименовывать
- Читать сведения о системе (ОС, память, диск)
Блок ставят на холст как отдельный шаг или прикрепляют к агенту. Учётные данные — в переменных окружения рабочего пространства.
Выполнить команду оболочки на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
command | string | Да | Команда оболочки |
workingDirectory | string | Нет | Рабочий каталог |
| Параметр | Тип | Описание |
|---|
stdout | string | Стандартный вывод |
stderr | string | Стандартный поток ошибок |
exitCode | number | Код выхода |
success | boolean | Команда успешна (код 0) |
message | string | Статус операции |
Загрузить и выполнить многострочный скрипт на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
script | string | Да | Текст скрипта (bash, python и т. д.) |
interpreter | string | Нет | Интерпретатор (по умолчанию /bin/bash) |
workingDirectory | string | Нет | Рабочий каталог |
| Параметр | Тип | Описание |
|---|
stdout | string | Стандартный вывод скрипта |
stderr | string | Стандартный поток ошибок |
exitCode | number | Код выхода |
success | boolean | Скрипт успешен (код 0) |
scriptPath | string | Временный путь, куда загрузили скрипт |
message | string | Статус операции |
Проверить, есть ли команда или программа на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
commandName | string | Да | Имя команды (например docker, git, python3) |
| Параметр | Тип | Описание |
|---|
commandExists | boolean | Команда найдена |
commandPath | string | Полный путь (если найдена) |
version | string | Версия команды (если есть) |
message | string | Статус операции |
Загрузить файл на удалённый сервер SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
fileContent | string | Да | Содержимое (base64 для двоичных файлов) |
fileName | string | Да | Имя файла |
remotePath | string | Да | Путь назначения на сервере |
permissions | string | Нет | Права файла (например 0644) |
overwrite | boolean | Нет | Перезаписывать существующие (по умолчанию true) |
| Параметр | Тип | Описание |
|---|
uploaded | boolean | Файл успешно загружен |
remotePath | string | Итоговый путь на сервере |
size | number | Размер в байтах |
message | string | Статус операции |
Скачать файл с удалённого сервера SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
remotePath | string | Да | Путь к файлу на сервере |
| Параметр | Тип | Описание |
|---|
downloaded | boolean | Файл успешно скачан |
fileContent | string | Содержимое (base64 для двоичных файлов) |
fileName | string | Имя скачанного файла |
remotePath | string | Исходный путь на сервере |
size | number | Размер в байтах |
message | string | Статус операции |
Список файлов и каталогов в удалённом каталоге.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь каталога на сервере |
detailed | boolean | Нет | Подробности: размер, права, дата изменения |
recursive | boolean | Нет | Включать вложенные каталоги (по умолчанию false) |
| Параметр | Тип | Описание |
|---|
entries | array | Файлы и каталоги |
↳ name | string | Имя |
↳ type | string | Тип: file, directory, symlink |
↳ size | number | Размер в байтах |
↳ permissions | string | Права |
↳ modified | string | Время изменения |
totalFiles | number | Число файлов |
totalDirectories | number | Число каталогов |
message | string | Статус операции |
Проверить, есть ли файл или каталог на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь на сервере |
type | string | Нет | Ожидаемый тип: file, directory или any (по умолчанию any) |
| Параметр | Тип | Описание |
|---|
exists | boolean | Путь существует |
type | string | Тип: file, directory, symlink, not_found |
size | number | Размер, если это файл |
permissions | string | Права (например 0755) |
modified | string | Время изменения |
message | string | Статус операции |
Создать каталог на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь нового каталога |
recursive | boolean | Нет | Создать родительские каталоги, если их нет (по умолчанию true) |
permissions | string | Нет | Права каталога (по умолчанию 0755) |
| Параметр | Тип | Описание |
|---|
created | boolean | Каталог успешно создан |
remotePath | string | Путь каталога |
alreadyExists | boolean | Каталог уже был |
message | string | Статус операции |
Удалить файл или каталог на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь для удаления |
recursive | boolean | Нет | Удалять каталоги рекурсивно (по умолчанию false) |
force | boolean | Нет | Удалить без подтверждения (по умолчанию false) |
| Параметр | Тип | Описание |
|---|
deleted | boolean | Путь успешно удалён |
remotePath | string | Удалённый путь |
message | string | Статус операции |
Переместить или переименовать файл или каталог на удалённом сервере SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
sourcePath | string | Да | Текущий путь |
destinationPath | string | Да | Новый путь |
overwrite | boolean | Нет | Перезаписать назначение, если оно есть (по умолчанию false) |
| Параметр | Тип | Описание |
|---|
moved | boolean | Операция успешна |
sourcePath | string | Исходный путь |
destinationPath | string | Новый путь |
message | string | Статус операции |
Сведения о системе удалённого сервера SSH.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
| Параметр | Тип | Описание |
|---|
hostname | string | Имя хоста |
os | string | Операционная система (например Linux, Darwin) |
architecture | string | Архитектура CPU (например x64, arm64) |
uptime | number | Время работы в секундах |
memory | json | Память: total, free, used |
diskSpace | json | Диск: total, free, used |
message | string | Статус операции |
Прочитать содержимое удалённого файла.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь к файлу на сервере |
encoding | string | Нет | Кодировка (по умолчанию utf-8) |
maxSize | number | Нет | Максимум размера в МБ (по умолчанию 10) |
| Параметр | Тип | Описание |
|---|
content | string | Содержимое файла |
size | number | Размер в байтах |
lines | number | Число строк |
remotePath | string | Путь на сервере |
message | string | Статус операции |
Записать или дописать содержимое в удалённый файл.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост или IP сервера SSH |
port | number | Да | Порт (по умолчанию 22) |
username | string | Да | Имя пользователя SSH |
password | string | Нет | Пароль (если не используете ключ) |
privateKey | string | Нет | Закрытый ключ (формат OpenSSH) |
passphrase | string | Нет | Парольная фраза к зашифрованному ключу |
path | string | Да | Путь к файлу на сервере |
content | string | Да | Текст для записи |
mode | string | Нет | Режим: overwrite, append или create (по умолчанию overwrite) |
permissions | string | Нет | Права файла (например 0644) |
| Параметр | Тип | Описание |
|---|
written | boolean | Файл успешно записан |
remotePath | string | Путь к файлу |
size | number | Итоговый размер в байтах |
message | string | Статус операции |