SSH

通过 SSH 连接远程服务器

配置

执行命令

操作
执行命令
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
认证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
口令
••••••••
当 authMethod 为 'privateKey' 时显示。
命令*
plaintext
ls -la /var/www
工作目录
/var/www/html(可选)
执行命令(ssh_execute_command)

在远程 SSH 服务器上执行 Shell 命令

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否用于认证的密码(若不使用私钥)
privateKeystring否用于认证的私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
commandstring是要在远程服务器上执行的 Shell 命令
workingDirectorystring否命令执行的工作目录
输出
参数类型说明
stdoutstring命令的标准输出
stderrstring标准错误输出
exitCodenumber命令退出码
successboolean命令是否成功(退出码为 0)
messagestring操作状态消息

执行脚本

操作
执行脚本
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
认证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
脚本内容*
plaintext
#!/bin/bash echo "Hello World"
解释器
/bin/bash
工作目录
/var/www/html(可选)
执行脚本(ssh_execute_script)

在远程 SSH 服务器上上传并执行多行脚本

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否身份验证密码(未使用私钥时)
privateKeystring否身份验证私钥(OpenSSH 格式)
passphrasestring否加密私钥的口令
scriptstring是要执行的脚本内容(bash、python 等)
interpreterstring否脚本解释器(默认:/bin/bash)
workingDirectorystring否脚本执行的工作目录
输出
参数类型说明
stdoutstring脚本的标准输出
stderrstring标准错误输出
exitCodenumber脚本退出码
successboolean脚本是否成功(退出码为 0)
scriptPathstring脚本上传到的临时路径
messagestring操作状态消息

检查命令是否存在

操作
检查命令是否存在
主机*
example.com or 192.168.1.100
端口
22
用户名*
ubuntu, root, or deploy
认证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
命令名称*
docker, git, python3
检查命令是否存在 (ssh_check_command_exists)

检查远程 SSH 服务器上是否存在某命令/程序

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口 (默认:22)
usernamestring是SSH 用户名
passwordstring否用于身份验证的密码 (如果不使用私钥)
privateKeystring否用于身份验证的私钥 (OpenSSH 格式)
passphrasestring否加密私钥的密码短语
commandNamestring是要检查的命令名称 (例如 docker、git、python3)
输出
参数类型说明
commandExistsboolean命令是否存在
commandPathstring命令的完整路径 (如果找到)
versionstring命令版本输出 (如适用)
messagestring操作状态消息

上传文件

操作
上传文件
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
文件内容*
plaintext
要上传的内容...
文件名*
config.json
远程路径*
/var/www/html/config.json
权限
0644
上传文件(ssh_upload_file)

将文件上传到远程 SSH 服务器

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否认证密码(未使用私钥时)
privateKeystring否认证私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
fileContentstring是要上传的文件内容(二进制文件需使用 base64 编码)
fileNamestring是要上传的文件名
remotePathstring是远程服务器上的目标路径
permissionsstring否文件权限(例如 0644)
overwriteboolean否是否覆盖已有文件(默认:true)
输出
参数类型说明
uploadedboolean文件是否上传成功
remotePathstring远程服务器上的最终路径
sizenumber文件大小(字节)
messagestring操作状态消息

下载文件

操作
下载文件
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
认证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密钥口令
••••••••
当 authMethod 为 'privateKey' 时显示。
远程文件路径*
/var/log/app.log
下载文件 (ssh_download_file)

从远程 SSH 服务器下载文件

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否认证密码(未使用私钥时)
privateKeystring否认证私钥(OpenSSH 格式)
passphrasestring否加密私钥的口令
remotePathstring是远程服务器上的文件路径
输出
参数类型说明
downloadedboolean文件是否下载成功
fileContentstring文件内容(二进制文件为 base64 编码)
fileNamestring已下载文件的名称
remotePathstring远程服务器上的源路径
sizenumber文件大小(字节)
messagestring操作状态消息

列出目录

操作
列出目录
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
认证方式
密码
密码
••••••••
authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
authMethod 为 'privateKey' 时显示。
口令
••••••••
authMethod 为 'privateKey' 时显示。
目录路径*
/var/www
显示详情
Disabled
列出目录 (ssh_list_directory)

列出远程目录中的文件和目录

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口 (默认:22)
usernamestring是SSH 用户名
passwordstring否用于身份验证的密码 (如未使用私钥)
privateKeystring否用于身份验证的私钥 (OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要列出的远程目录路径
detailedboolean否包含文件详情 (大小、权限、修改日期)
recursiveboolean否递归列出子目录 (默认:false)
输出
参数类型说明
entriesarray文件和目录条目数组
totalFilesnumber文件总数
totalDirectoriesnumber目录总数
messagestring操作状态消息

检查文件/目录是否存在

操作
检查文件/目录是否存在
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
要检查的路径*
/etc/nginx/nginx.conf
预期类型
任意
检查文件/目录是否存在 (ssh_check_file_exists)

检查远程 SSH 服务器上是否存在文件或目录

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口 (默认:22)
usernamestring是SSH 用户名
passwordstring否用于身份验证的密码 (未使用私钥时)
privateKeystring否用于身份验证的私钥 (OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要检查的远程文件或目录路径
typestring否期望类型:file、directory 或 any (默认:any)
输出
参数类型说明
existsboolean路径是否存在
typestring路径类型 (file、directory、symlink、not_found)
sizenumber如果是文件,则为文件大小
permissionsstring文件权限 (例如 0755)
modifiedstring最后修改时间戳
messagestring操作状态消息

创建目录

操作
创建目录
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
目录路径*
/var/www/new-site
创建父目录
Enabled
创建目录(ssh_create_directory)

在远程 SSH 服务器上创建目录

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口 (默认:22)
usernamestring是SSH 用户名
passwordstring否用于身份验证的密码 (未使用私钥时)
privateKeystring否用于身份验证的私钥 (OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要创建的目录路径
recursiveboolean否父目录不存在时一并创建 (默认:true)
permissionsstring否目录权限 (默认:0755)
输出
参数类型说明
createdboolean目录是否创建成功
remotePathstring已创建的目录路径
alreadyExistsboolean目录是否已存在
messagestring操作状态消息

删除文件/目录

操作
删除文件/目录
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
要删除的路径*
/tmp/old-file.txt
递归删除
Disabled
强制删除
Disabled
删除文件/目录(ssh_delete_file)

从远程 SSH 服务器删除文件或目录

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否用于认证的密码(未使用私钥时)
privateKeystring否用于认证的私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要删除的路径
recursiveboolean否递归删除目录(默认:false)
forceboolean否强制删除,无需确认(默认:false)
输出
参数类型说明
deletedboolean路径是否已成功删除
remotePathstring已删除的路径
messagestring操作状态消息

移动/重命名

操作
移动/重命名
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
认证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
源路径*
/var/www/old-name
目标路径*
/var/www/new-name
若已存在则覆盖
Disabled
移动/重命名(ssh_move_rename)

在远程 SSH 服务器上移动或重命名文件或目录

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否身份验证密码(未使用私钥时)
privateKeystring否身份验证私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
sourcePathstring是文件或目录的当前路径
destinationPathstring是文件或目录的新路径
overwriteboolean否若目标已存在则覆盖(默认:false)
输出
参数类型说明
movedboolean操作是否成功
sourcePathstring原始路径
destinationPathstring新路径
messagestring操作状态消息

获取系统信息

操作
获取系统信息
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
获取系统信息(ssh_get_system_info)

从远程 SSH 服务器获取系统信息

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否用于身份验证的密码(未使用私钥时)
privateKeystring否用于身份验证的私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
输出
参数类型说明
hostnamestring服务器主机名
osstring操作系统(例如 Linux、Darwin)
architecturestringCPU 架构(例如 x64、arm64)
uptimenumber系统运行时间(秒)
memoryjson内存信息(总量、空闲、已用)
diskSpacejson磁盘空间信息(总量、空闲、已用)
messagestring操作状态消息

读取文件内容

操作
读取文件内容
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
文件路径*
/var/log/app.log
编码
utf-8
最大大小(MB)
10
读取文件内容(ssh_read_file_content)

读取远程文件的内容

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否身份验证密码(未使用私钥时)
privateKeystring否身份验证私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要读取的远程文件路径
encodingstring否文件编码(默认:utf-8)
maxSizenumber否读取的最大文件大小,单位为 MB(默认:10)
输出
参数类型说明
contentstring文件内容字符串
sizenumber文件大小(字节)
linesnumber文件行数
remotePathstring远程文件路径
messagestring操作状态消息

写入文件内容

操作
写入文件内容
主机*
example.com 或 192.168.1.100
端口
22
用户名*
ubuntu、root 或 deploy
身份验证方式
密码
密码
••••••••
当 authMethod 为 'password' 时显示。
私钥
plaintext
-----BEGIN OPENSSH PRIVATE KEY----- ...
当 authMethod 为 'privateKey' 时显示。
密码短语
••••••••
当 authMethod 为 'privateKey' 时显示。
文件路径*
/etc/config.json
文件内容*
plaintext
要写入的内容...
写入模式
覆盖
权限
0644
写入文件内容(ssh_write_file_content)

向远程文件写入或追加内容

输入
参数类型必填说明
hoststring是SSH 服务器主机名或 IP 地址
portnumber是SSH 服务器端口(默认:22)
usernamestring是SSH 用户名
passwordstring否身份验证密码(未使用私钥时)
privateKeystring否身份验证私钥(OpenSSH 格式)
passphrasestring否加密私钥的密码短语
pathstring是要写入的远程文件路径
contentstring是要写入文件的内容
modestring否写入模式:overwrite、append 或 create(默认:overwrite)
permissionsstring否文件权限(例如 0644)
输出
参数类型说明
writtenboolean文件是否写入成功
remotePathstring文件路径
sizenumber最终文件大小(字节)
messagestring操作状态消息

使用说明

通过 SSH 执行命令、传输文件并管理远程服务器。支持密码和私钥身份验证,用于安全访问服务器。

备注

  • 类别:tools
  • 类型:ssh