@xtail/ssh
Version:
X-Tail SSH 库,包含 SSH 连接服务器的类和工具方法等
66 lines (65 loc) • 2.18 kB
TypeScript
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>;
}