上一主题: new-comObject 命令-实例化 COM 对象 (Funclet)下一主题: new-webService 命令-创建 Web 服务对象 (Funclet)


new-SSHSession 命令-创建一个新的安全 SSH 会话 (Funclet)

new-SSHSession 命令在 SSH 服务器上创建会话,并返回一个表示该会话的 CASSHELL 对象。 必须保存该对象以便今后对该会话执行操作。 此命令通常和 run-SSHCommand 或 run-SSHShell 命令一起使用。

命令的语法如下:

new-SSHSession -host hostname [-user username] [-pass password] [-key key] 
[-prompt prompt][-port portnumber]
-host hostname

SSH 服务器的名称。

-user username

(可选)指定用于登录到远程节点的用户名。 使用密码或公共密钥身份验证时,需要用户名。 如果没有指定用户名,则使用在 AutoShell 登录过程中输入的用户名。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认值:$$User

-pass password

(可选)指定用于登录到远程节点的密码。 如果没有指定密码,则使用在 AutoShell 登录过程中输入的密码。 要在发出该命令之后输入隐藏的密码,请指定使用可选提示作为参数的 PW_GET()。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认值:$$Pass

-key key

(可选)指定包含 RSA 私钥的文件的绝对路径或相对路径,用于登录到远程节点。 如果指定了私钥和密码,则 AutoShell 会首先尝试公钥登录,如果登录失败,则使用密码登录。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。 仅在使用公钥身份验证联机创建 SSH 会话时需要此参数。

默认:""

-prompt prompt

(可选)指定 SSH 服务器显示的提示字符串结尾的固定部分,以指示其可用于输入(例如:用于 AutoShell 的“::->”)。 需要该信息以确定在 SSH 会话期间执行的命令的完成情况。 指定尽可能多的固定字符。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认值:“::->”

-port portnumber

(可选)连接到目标系统的端口。

默认值:SSH 标准端口 22。

返回值

返回一个 CASSHELL 对象。 该对象可以传递到 run-SSHCommand funclet 以执行命令,或者传递到 run-SSHSession 以在 SSH 服务器上运行交互式对话。

示例

创建 SSH 会话,假设服务器已将指定帐户的 AutoShell 配置为 SSH shell。 运行命令并断开:

ssh=new-SSHSession -host client8 -user bob -pass xyz42 -prompt ::->
? run-SSHCommand -session ssh -command "! ver"
ssh.disconnect();

另请参阅:

run-SSHCommand 命令-通过 SSH 运行远程命令 (Funclet)

run-SSHShell 命令-运行交互式 SSH 命令行 (Funclet)