UNPKG

@xtail/ssh

Version:

X-Tail SSH 库,包含 SSH 连接服务器的类和工具方法等

66 lines (65 loc) 2.18 kB
import { default as SSHConfig } from 'ssh2-promise/lib/sshConfig'; import { SSHResultType } from '../types'; export declare const SSH_Name = "SSH"; export declare class SSH { private readonly config; private ssh; private connected; private socket; private isSession; private currentCmd; constructor(config: SSHConfig); /** * 是否已经 SSH 连接到服务器 * * @returns {boolean} true 已连接,false 未连接 */ get isConnected(): boolean; /** * SSH 连接服务器 * * @returns {Promise<SSHResultType>} SSH 连接结果 */ connect(): Promise<SSHResultType>; /** * 断开与服务器的 SSH 连接 * * @returns {Promise<SSHResultType>} 断开与服务器的 SSH 连接的结果 */ close(): Promise<SSHResultType>; /** * SSH 连接服务器后执行命令<br/> * 注意:如果未连接服务器,会返回失败结果,所以需要先调用 {@link connect} 方法连接服务器 * * @param {string} cmd 需要执行的命令 * @returns {Promise<SSHResultType>} 执行命令结果 */ exec(cmd: string): Promise<SSHResultType>; /** * 是否已经与服务器创建会话 * * @returns {boolean} true 已创建会话,false 未创建会话 */ get isSessionOpen(): boolean; /** * 与服务器创建 Shell 会话 * * @param {(data: string) => void} onData 服务器返回数据时的回调函数 * @param {() => void} onClose 与服务器之间的 Shell 会话关闭时的回调函数 * @returns {Promise<SSHResultType>} 创建会话结果 */ sessionOpen(onData: (data: string) => void, onClose: () => void): Promise<SSHResultType>; /** * 在与服务器创建的 Shell 会话中执行命令 * * @param {string} cmd 需要执行的命令 * @returns {Promise<SSHResultType>} 命令执行结果 */ sessionExec(cmd: string): Promise<SSHResultType>; /** * 关闭与服务器创建的 Shell 会话 * * @returns {Promise<SSHResultType>} 关闭会话结果 */ sessionClose(): Promise<SSHResultType>; }