查看源代码 ct_ssh (common_test v1.27.5)

SSH/SFTP 客户端模块。

此模块使用应用程序 SSH,该应用程序提供有关函数、类型和选项等详细信息。

SFTP 函数中的参数 Server 仅用于已在现有 SSH 连接上启动的 SFTP 会话(即,当原始连接类型为 ssh 时)。当连接类型为 sftp 时,仅使用 SSH 连接引用。

以下选项对于指定 SSH/SFTP 连接有效(即,可以用作配置元素)

[{ConnType, Addr},
 {port, Port},
 {user, UserName}
 {password, Pwd}
 {user_dir, String}
 {public_key_alg, PubKeyAlg}
 {connect_timeout, Timeout}
 {key_cb, KeyCallbackMod}]

ConnType = ssh | sftp.

对于其他类型,请参阅 ssh

ct_ssh 函数中的所有超时参数均为毫秒值。

摘要

类型

指向打开的 SSH/SFTP 连接的引用,该连接与 handletarget_name 相关联。

用于连接的连接类型。

特定 SSH/SFTP 连接的句柄,请参阅模块 ct

表示连接内部通道的数据类型。

有效值为 0 (“normal”) 和 1 (“stderr”),请参阅 RFC 4254, 第 5.2 节

函数

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

使用与 KeyOrName 关联的信息打开 SSH 或 SFTP 连接(请参阅 connect/3)。

使用与 KeyOrName 关联的信息打开 SSH 或 SFTP 连接。

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

关闭 SSH/SFTP 连接。

请求服务器执行 Command,(请参阅 exec/4)。

请求服务器执行 Command。之前打开的会话通道用于此请求。Data 作为命令的结果从服务器接收。

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

在指定的会话通道上从服务器接收预期数据(请参阅 receive_response/4)。

在指定的会话通道上从服务器接收预期数据。

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

在指定的会话通道上将数据发送到服务器(请参阅 send/5)。

在指定的会话通道上将数据发送到服务器。

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应(请参阅 send_and_receive/6)。

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应(请参阅 send_and_receive/6)。

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应。

关闭 SSH 会话通道。

为 SSH 会话打开通道。

在已有的 SSH 连接上启动 SFTP 会话。Server 标识新会话,并且每次要发送 SFTP 请求时都必须指定。

请求在服务器端执行用户的默认 shell(通常在 Unix 系统中的 /etc/passwd 中定义)。

发送执行预定义子系统的请求。

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

有关信息和其他类型,请参阅 ssh_sftp

类型

此类型的链接

connection()

查看源代码 (未导出)
-type connection() :: handle() | ct:target_name().

指向打开的 SSH/SFTP 连接的引用,该连接与 handletarget_name 相关联。

此类型的链接

connection_type()

查看源代码 (未导出)
-type connection_type() :: host | ssh | sftp.

用于连接的连接类型。

此类型的链接

handle()

查看源代码 (未导出)
-type handle() :: pid().

特定 SSH/SFTP 连接的句柄,请参阅模块 ct

此类型的链接

ssh_channel_id()

查看源代码 (未导出)
-type ssh_channel_id() :: non_neg_integer().

表示连接内部通道的数据类型。

“对于 ssh_channel_id,请参阅模块 ssh。”

此类型的链接

ssh_data_type_code()

查看源代码 (未导出)
-type ssh_data_type_code() :: non_neg_integer().

有效值为 0 (“normal”) 和 1 (“stderr”),请参阅 RFC 4254, 第 5.2 节

函数

此函数的链接

apread(SSH, Handle, Position, Length)

查看源代码
-spec apread(SSH, Handle, Position, Length) -> Result
                when
                    SSH :: connection(),
                    Handle :: term(),
                    Position :: integer(),
                    Length :: integer(),
                    Result :: {async, N} | {error, Reason},
                    N :: term(),
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

apread(SSH, Server, Handle, Position, Length)

查看源代码
-spec apread(SSH, Server, Handle, Position, Length) -> Result
                when
                    SSH :: connection(),
                    Server :: pid(),
                    Handle :: term(),
                    Position :: integer(),
                    Length :: integer(),
                    Result :: {async, N} | {error, Reason},
                    N :: term(),
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

apwrite(SSH, Handle, Position, Data)

查看源代码
-spec apwrite(SSH, Handle, Position, Data) -> Result
                 when
                     SSH :: connection(),
                     Handle :: term(),
                     Position :: integer(),
                     Data :: binary(),
                     Result :: {async, N} | {error, Reason},
                     N :: term(),
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

apwrite(SSH, Server, Handle, Position, Data)

查看源代码
-spec apwrite(SSH, Server, Handle, Position, Data) -> Result
                 when
                     SSH :: connection(),
                     Server :: pid(),
                     Handle :: term(),
                     Position :: integer(),
                     Data :: binary(),
                     Result :: {async, N} | {error, Reason},
                     N :: term(),
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

aread(SSH, Handle, Len)

查看源代码
-spec aread(SSH, Handle, Len) -> Result
               when
                   SSH :: connection(),
                   Handle :: term(),
                   Len :: integer(),
                   Result :: {async, N} | {error, Reason},
                   N :: term(),
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

aread(SSH, Server, Handle, Len)

查看源代码
-spec aread(SSH, Server, Handle, Len) -> Result
               when
                   SSH :: connection(),
                   Server :: pid(),
                   Handle :: term(),
                   Len :: integer(),
                   Result :: {async, N} | {error, Reason},
                   N :: term(),
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

awrite(SSH, Handle, Data)

查看源代码
-spec awrite(SSH, Handle, Data) -> Result
                when
                    SSH :: connection(),
                    Handle :: term(),
                    Data :: binary(),
                    Result :: {async, N} | {error, Reason},
                    N :: term(),
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

awrite(SSH, Server, Handle, Data)

查看源代码
-spec awrite(SSH, Server, Handle, Data) -> Result
                when
                    SSH :: connection(),
                    Server :: pid(),
                    Handle :: term(),
                    Data :: binary(),
                    Result :: {async, N} | {error, Reason},
                    N :: term(),
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec close(SSH, Handle) -> Result
               when
                   SSH :: connection(),
                   Handle :: term(),
                   Result :: ok | {error, Reason},
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

close(SSH, Server, Handle)

查看源代码
-spec close(SSH, Server, Handle) -> Result
               when
                   SSH :: connection(),
                   Server :: pid(),
                   Handle :: term(),
                   Result :: ok | {error, Reason},
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec connect(KeyOrName) -> {ok, Handle} | {error, Reason}
                 when KeyOrName :: ct:key_or_name(), Handle :: handle(), Reason :: term().

等效于 connect(KeyOrName, host, [])

-spec connect(KeyOrName, ConnType) -> {ok, Handle} | {error, Reason}
                 when
                     KeyOrName :: ct:key_or_name(),
                     ConnType :: connection_type(),
                     Handle :: handle(),
                     Reason :: term();
             (KeyOrName, ExtraOpts) -> {ok, Handle} | {error, Reason}
                 when
                     KeyOrName :: ct:key_or_name(),
                     ExtraOpts :: [ExtraOption],
                     ExtraOption ::
                         {ssh, Address} | {sftp, Address} | ssh:client_option() | ssh_sftp:sftp_option(),
                     Address :: ssh:host(),
                     Handle :: handle(),
                     Reason :: term().

使用与 KeyOrName 关联的信息打开 SSH 或 SFTP 连接(请参阅 connect/3)。

如果使用 ConnType (原子) 调用,则等效于 connect(KeyOrName, ConnType, [])

如果使用 ExtraOpts (列表) 调用,则等效于 connect(KeyOrName, host, ExtraOpts)

此函数的链接

connect(KeyOrName, ConnType, ExtraOpts)

查看源代码
-spec connect(KeyOrName, ConnType, ExtraOpts) -> {ok, Handle} | {error, Reason}
                 when
                     KeyOrName :: ct:key_or_name(),
                     ConnType :: connection_type(),
                     ExtraOpts :: [ExtraOption],
                     ExtraOption ::
                         {ssh, Address} | {sftp, Address} | ssh:client_option() | ssh_sftp:sftp_option(),
                     Address :: ssh:host(),
                     Handle :: handle(),
                     Reason :: term().

使用与 KeyOrName 关联的信息打开 SSH 或 SFTP 连接。

如果使用 Name ( Key 的别名) 来标识连接,则此名称可以用作后续调用的连接引用。一次只能打开一个与 Name 关联的连接。如果使用 Key,则返回的句柄必须用于后续调用(可以使用 Key 指定的配置数据打开多个连接)。

有关如何创建新 Name 的信息,请参阅 ct:require/2

ConnType 始终覆盖配置数据中地址元组(以及 ExtraOpts 中)指定的类型。因此,例如,可以直接使用最初指定 SSH 连接的数据打开 SFTP 连接。值 host 表示使用主机选项(配置数据或 ExtraOpts 中)指定的连接类型。

ExtraOpts (可选) 是要添加到 KeyOrName 的配置数据的额外 SSH 选项。额外选项会覆盖配置数据中具有相同键的任何现有选项。有关有效 SSH 选项的详细信息,请参阅应用程序 SSH

-spec del_dir(SSH, Name) -> Result
                 when
                     SSH :: connection(),
                     Name :: file:filename(),
                     Result :: ok | {error, Reason},
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

del_dir(SSH, Server, Name)

查看源代码
-spec del_dir(SSH, Server, Name) -> Result
                 when
                     SSH :: connection(),
                     Server :: pid(),
                     Name :: file:filename(),
                     Result :: ok | {error, Reason},
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec delete(SSH, Name) -> Result
                when
                    SSH :: connection(),
                    Name :: file:filename(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

delete(SSH, Server, Name)

查看源代码
-spec delete(SSH, Server, Name) -> Result
                when
                    SSH :: connection(),
                    Server :: pid(),
                    Name :: file:filename(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec disconnect(SSH) -> ok | {error, Reason} when SSH :: connection(), Reason :: term().

关闭 SSH/SFTP 连接。

-spec exec(SSH, Command) -> {ok, Data} | {timeout, Data} | {error, Reason}
              when SSH :: connection(), Command :: string(), Data :: string(), Reason :: term().

等效于 exec(SSH, Command, DefaultTimeout)

-spec exec(SSH, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}
              when
                  SSH :: connection(),
                  Command :: string(),
                  Timeout :: timeout(),
                  Data :: string(),
                  Reason :: term();
          (SSH, ChannelId, Command) -> {ok, Data} | {timeout, Data} | {error, Reason}
              when
                  SSH :: connection(),
                  ChannelId :: ssh_channel_id(),
                  Command :: string(),
                  Data :: string(),
                  Reason :: term().

请求服务器执行 Command,(请参阅 exec/4)。

如果使用 Command (字符串) 调用,则等效于 exec(SSH, undefined, Command, Timeout)

如果使用 ChannelId (整数) 调用,则等效于 exec(SSH, ChannelId, Command, DefaultTimeout)

此函数的链接

exec(SSH, ChannelId, Command, Timeout)

查看源代码
-spec exec(SSH, ChannelId, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}
              when
                  SSH :: connection(),
                  ChannelId :: ssh_channel_id() | undefined,
                  Command :: string(),
                  Timeout :: timeout(),
                  Data :: string(),
                  Reason :: term().

请求服务器执行 Command。之前打开的会话通道用于此请求。Data 作为命令的结果从服务器接收。

此函数的链接

get_file_info(SSH, Handle)

查看源代码
-spec get_file_info(SSH, Handle) -> Result
                       when
                           SSH :: connection(),
                           Handle :: term(),
                           Result :: {ok, FileInfo} | {error, Reason},
                           FileInfo :: file:file_info(),
                           Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

get_file_info(SSH, Server, Handle)

查看源代码
-spec get_file_info(SSH, Server, Handle) -> Result
                       when
                           SSH :: connection(),
                           Server :: pid(),
                           Handle :: term(),
                           Result :: {ok, FileInfo} | {error, Reason},
                           FileInfo :: file:file_info(),
                           Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec list_dir(SSH, Path) -> Result
                  when
                      SSH :: connection(),
                      Path :: file:filename(),
                      Result :: {ok, FileNames} | {error, Reason},
                      FileNames :: [FileName],
                      FileName :: file:filename(),
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

list_dir(SSH, Server, Path)

查看源代码
-spec list_dir(SSH, Server, Path) -> Result
                  when
                      SSH :: connection(),
                      Server :: pid(),
                      Path :: file:filename(),
                      Result :: {ok, FileNames} | {error, Reason},
                      FileNames :: [FileName],
                      FileName :: file:filename(),
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec make_dir(SSH, Name) -> Result
                  when
                      SSH :: connection(),
                      Name :: file:filename(),
                      Result :: ok | {error, Reason},
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

make_dir(SSH, Server, Name)

查看源代码
-spec make_dir(SSH, Server, Name) -> Result
                  when
                      SSH :: connection(),
                      Server :: pid(),
                      Name :: file:filename(),
                      Result :: ok | {error, Reason},
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

make_symlink(SSH, Name, Target)

查看源代码
-spec make_symlink(SSH, Name, Target) -> Result
                      when
                          SSH :: connection(),
                          Name :: file:filename(),
                          Target :: file:filename(),
                          Result :: ok | {error, Reason},
                          Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

make_symlink(SSH, Server, Name, Target)

查看源代码
-spec make_symlink(SSH, Server, Name, Target) -> Result
                      when
                          SSH :: connection(),
                          Server :: pid(),
                          Name :: file:filename(),
                          Target :: file:filename(),
                          Result :: ok | {error, Reason},
                          Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec open(SSH, File, Mode) -> Result
              when
                  SSH :: connection(),
                  File :: file:filename(),
                  Mode :: [read | write | append | binary | raw],
                  Result :: {ok, Handle} | {error, Reason},
                  Handle :: term(),
                  Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

open(SSH, Server, File, Mode)

查看源代码
-spec open(SSH, Server, File, Mode) -> Result
              when
                  SSH :: connection(),
                  Server :: pid(),
                  File :: file:filename(),
                  Mode :: [read | write | append | binary | raw],
                  Result :: {ok, Handle} | {error, Reason},
                  Handle :: term(),
                  Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec opendir(SSH, Path) -> Result
                 when
                     SSH :: connection(),
                     Path :: file:filename(),
                     Result :: {ok, Handle} | {error, Reason},
                     Handle :: term(),
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

opendir(SSH, Server, Path)

查看源代码
-spec opendir(SSH, Server, Path) -> Result
                 when
                     SSH :: connection(),
                     Server :: pid(),
                     Path :: file:filename(),
                     Result :: {ok, Handle} | {error, Reason},
                     Handle :: term(),
                     Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

position(SSH, Handle, Location)

查看源代码
-spec position(SSH, Handle, Location) -> Result
                  when
                      SSH :: connection(),
                      Handle :: term(),
                      Location ::
                          Offset | {bof, Offset} | {cur, Offset} | {eof, Offset} | bof | cur | eof,
                      Offset :: integer(),
                      Result :: {ok, NewPosition} | {error, Reason},
                      NewPosition :: integer(),
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

position(SSH, Server, Handle, Location)

查看源代码
-spec position(SSH, Server, Handle, Location) -> Result
                  when
                      SSH :: connection(),
                      Server :: pid(),
                      Handle :: term(),
                      Location ::
                          Offset | {bof, Offset} | {cur, Offset} | {eof, Offset} | bof | cur | eof,
                      Offset :: integer(),
                      Result :: {ok, NewPosition} | {error, Reason},
                      NewPosition :: integer(),
                      Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

pread(SSH, Handle, Position, Length)

查看源代码
-spec pread(SSH, Handle, Position, Length) -> Result
               when
                   SSH :: connection(),
                   Handle :: term(),
                   Position :: integer(),
                   Length :: integer(),
                   Result :: {ok, Data} | eof | {error, Reason},
                   Data :: string() | binary(),
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

pread(SSH, Server, Handle, Position, Length)

查看源代码
-spec pread(SSH, Server, Handle, Position, Length) -> Result
               when
                   SSH :: connection(),
                   Server :: pid(),
                   Handle :: term(),
                   Position :: integer(),
                   Length :: integer(),
                   Result :: {ok, Data} | eof | {error, Reason},
                   Data :: string() | binary(),
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

pwrite(SSH, Handle, Position, Data)

查看源代码
-spec pwrite(SSH, Handle, Position, Data) -> Result
                when
                    SSH :: connection(),
                    Handle :: term(),
                    Position :: integer(),
                    Data :: iolist(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

pwrite(SSH, Server, Handle, Position, Data)

查看源代码
-spec pwrite(SSH, Server, Handle, Position, Data) -> Result
                when
                    SSH :: connection(),
                    Server :: pid(),
                    Handle :: term(),
                    Position :: integer(),
                    Data :: iolist(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read(SSH, Handle, Len)

查看源代码
-spec read(SSH, Handle, Len) -> Result
              when
                  SSH :: connection(),
                  Handle :: term(),
                  Len :: integer(),
                  Result :: {ok, Data} | eof | {error, Reason},
                  Data :: string() | binary(),
                  Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read(SSH, Server, Handle, Len)

查看源代码
-spec read(SSH, Server, Handle, Len) -> Result
              when
                  SSH :: connection(),
                  Server :: pid(),
                  Handle :: term(),
                  Len :: integer(),
                  Result :: {ok, Data} | eof | {error, Reason},
                  Data :: string() | binary(),
                  Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec read_file(SSH, File) -> Result
                   when
                       SSH :: connection(),
                       File :: file:filename(),
                       Result :: {ok, Data} | {error, Reason},
                       Data :: binary(),
                       Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read_file(SSH, Server, File)

查看源代码
-spec read_file(SSH, Server, File) -> Result
                   when
                       SSH :: connection(),
                       Server :: pid(),
                       File :: file:filename(),
                       Result :: {ok, Data} | {error, Reason},
                       Data :: binary(),
                       Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read_file_info(SSH, Name)

查看源代码
-spec read_file_info(SSH, Name) -> Result
                        when
                            SSH :: connection(),
                            Name :: file:filename(),
                            Result :: {ok, FileInfo} | {error, Reason},
                            FileInfo :: file:file_info(),
                            Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read_file_info(SSH, Server, Name)

查看源代码
-spec read_file_info(SSH, Server, Name) -> Result
                        when
                            SSH :: connection(),
                            Server :: pid(),
                            Name :: file:filename(),
                            Result :: {ok, FileInfo} | {error, Reason},
                            FileInfo :: file:file_info(),
                            Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

-spec read_link(SSH, Name) -> Result
                   when
                       SSH :: connection(),
                       Name :: file:filename(),
                       Result :: {ok, Target} | {error, Reason},
                       Target :: file:filename(),
                       Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

read_link(SSH, Server, Name)

查看源代码
-spec read_link(SSH, Server, Name) -> Result
                   when
                       SSH :: connection(),
                       Server :: pid(),
                       Name :: file:filename(),
                       Result :: {ok, Target} | {error, Reason},
                       Target :: file:filename(),
                       Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

receive_response(SSH, ChannelId)

查看源代码
-spec receive_response(SSH, ChannelId) -> {ok, Data} | {timeout, Data} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Data :: string(),
                              Reason :: term().

等效于 receive_response(SSH, ChannelId, close, DefaultTimeout)

-spec receive_response(SSH, ChannelId, End) -> {ok, Data} | {timeout, Data} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              End :: fun((string()) -> boolean()),
                              Data :: string(),
                              Reason :: term();
                      (SSH, ChannelId, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Timeout :: timeout(),
                              Data :: string(),
                              Reason :: term().

在指定的会话通道上从服务器接收预期数据(请参阅 receive_response/4)。

如果使用 End (函数) 调用,则等效于 receive_response(SSH, ChannelId, End, DefaultTimeout)

如果使用 Timeout (整数) 调用,则等效于 receive_response(SSH, ChannelId, close, Timeout)

此函数的链接

receive_response(SSH, ChannelId, End, Timeout)

查看源代码
-spec receive_response(SSH, ChannelId, End, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              End :: close | timeout | fun((string()) -> boolean()),
                              Timeout :: timeout(),
                              Data :: string(),
                              Reason :: term().

在指定的会话通道上从服务器接收预期数据。

如果 End == close,则当服务器关闭通道时,数据将返回给调用方。如果在此之前发生超时,则该函数返回 {timeout,Data} (其中 Data 是目前为止接收到的数据)。

如果 End == timeout,则预期会超时,并且在超时和通道关闭的情况下都会返回 {ok,Data}

如果 End 是一个函数,则当收到 ssh_cm 消息时(参见 ssh_connection),将使用一个参数(即收到的数据值)调用此函数。该函数应返回 true 以结束接收操作(并返回到目前为止收集的数据),或者返回 false 以等待来自服务器的更多数据。即使提供了函数,如果服务器关闭通道,该函数也会立即返回。

此函数的链接

rename(SSH, OldName, NewName)

查看源代码
-spec rename(SSH, OldName, NewName) -> Result
                when
                    SSH :: connection(),
                    OldName :: file:filename(),
                    NewName :: file:filename(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

rename(SSH, Server, OldName, NewName)

查看源代码
-spec rename(SSH, Server, OldName, NewName) -> Result
                when
                    SSH :: connection(),
                    Server :: pid(),
                    OldName :: file:filename(),
                    NewName :: file:filename(),
                    Result :: ok | {error, Reason},
                    Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

send(SSH, ChannelId, Data)

查看源代码
-spec send(SSH, ChannelId, Data) -> ok | {error, Reason}
              when
                  SSH :: connection(), ChannelId :: ssh_channel_id(), Data :: iodata(), Reason :: term().

等效于 send(SSH, ChannelId, 0, Data, DefaultTimeout)

-spec send(SSH, ChannelId, Data, Timeout) -> ok | {error, Reason}
              when
                  SSH :: connection(),
                  ChannelId :: ssh_channel_id(),
                  Data :: iodata(),
                  Timeout :: timeout(),
                  Reason :: term();
          (SSH, ChannelId, Type, Data) -> ok | {error, Reason}
              when
                  SSH :: connection(),
                  ChannelId :: ssh_channel_id(),
                  Type :: ssh_data_type_code(),
                  Data :: iodata(),
                  Reason :: term().

在指定的会话通道上将数据发送到服务器(请参阅 send/5)。

如果调用时 Timeout 是整数,则等效于 send(SSH, ChannelId, 0, Data, Timeout)

如果调用时 Type 是整数,则等效于 send(SSH, ChannelId, Type, Data, DefaultTimeout)

此函数的链接

send(SSH, ChannelId, Type, Data, Timeout)

查看源代码
-spec send(SSH, ChannelId, Type, Data, Timeout) -> ok | {error, Reason}
              when
                  SSH :: connection(),
                  ChannelId :: ssh_channel_id(),
                  Type :: ssh_data_type_code(),
                  Data :: iodata(),
                  Timeout :: timeout(),
                  Reason :: term().

在指定的会话通道上将数据发送到服务器。

此函数的链接

send_and_receive(SSH, ChannelId, Data)

查看源代码
-spec send_and_receive(SSH, ChannelId, Data) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Data :: iodata(),
                              ReceivedData :: string(),
                              Reason :: term().

等效于 send_and_receive(SSH, ChannelId, 0, Data, close, DefaultTimeout)

-spec send_and_receive(SSH, ChannelId, Data, End) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Data :: iodata(),
                              End :: close | timeout | fun((string()) -> boolean()),
                              ReceivedData :: string(),
                              Reason :: term();
                      (SSH, ChannelId, Data, Timeout) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Data :: iodata(),
                              Timeout :: timeout(),
                              ReceivedData :: string(),
                              Reason :: term();
                      (SSH, ChannelId, Type, Data) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Type :: ssh_data_type_code(),
                              Data :: iodata(),
                              ReceivedData :: string(),
                              Reason :: term().

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应(请参阅 send_and_receive/6)。

如果调用时 End 是函数,则等效于 send_and_receive(SSH, ChannelId, 0, Data, End, DefaultTimeout)

如果调用时 Timeout 是整数,则等效于 send_and_receive(SSH, ChannelId, 0, Data, close, Timeout)

如果调用时 Type 是整数,则等效于 send_and_receive(SSH, ChannelId, Type, Data, close, DefaultTimeout)

-spec send_and_receive(SSH, ChannelId, Data, End, Timeout) ->
                          {ok, ReceivedData} | {timeout, Data} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Data :: iodata(),
                              End :: close | timeout | fun((string()) -> boolean()),
                              Timeout :: timeout(),
                              ReceivedData :: string(),
                              Reason :: term();
                      (SSH, ChannelId, Type, Data, Timeout) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Type :: ssh_data_type_code(),
                              Data :: iodata(),
                              Timeout :: timeout(),
                              ReceivedData :: string(),
                              Reason :: term();
                      (SSH, ChannelId, Type, Data, End) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Type :: ssh_data_type_code(),
                              Data :: iodata(),
                              End :: close | timeout | fun((string()) -> boolean()),
                              ReceivedData :: string(),
                              Reason :: term().

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应(请参阅 send_and_receive/6)。

如果调用时 Timeout 是整数,则等效于 send_and_receive(SSH, ChannelId, 0, Data, End, Timeout)

如果调用时 Type 是整数,则等效于 send_and_receive(SSH, ChannelId, Type, Data, close, Timeout)

如果调用时 End 是函数,则等效于 send_and_receive(SSH, ChannelId, Type, Data, End, DefaultTimeout)

此函数的链接

send_and_receive(SSH, ChannelId, Type, Data, End, Timeout)

查看源代码
-spec send_and_receive(SSH, ChannelId, Type, Data, End, Timeout) ->
                          {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}
                          when
                              SSH :: connection(),
                              ChannelId :: ssh_channel_id(),
                              Type :: ssh_data_type_code(),
                              Data :: iodata(),
                              End :: close | timeout | fun((string()) -> boolean()),
                              Timeout :: timeout(),
                              ReceivedData :: string(),
                              Reason :: term().

在指定的会话通道上将数据发送到服务器,并等待接收服务器响应。

关于参数 End 的详细信息,请参阅 ct_ssh:receive_response/4

此函数的链接

session_close(SSH, ChannelId)

查看源代码
-spec session_close(SSH, ChannelId) -> ok | {error, Reason}
                       when SSH :: connection(), ChannelId :: ssh_channel_id(), Reason :: term().

关闭 SSH 会话通道。

-spec session_open(SSH) -> {ok, ChannelId} | {error, Reason}
                      when SSH :: connection(), ChannelId :: ssh_channel_id(), Reason :: term().

等效于 session_open(SSH, DefaultTimeout)

此函数的链接

session_open(SSH, Timeout)

查看源代码
-spec session_open(SSH, Timeout) -> {ok, ChannelId} | {error, Reason}
                      when
                          SSH :: connection(),
                          Timeout :: timeout(),
                          ChannelId :: ssh_channel_id(),
                          Reason :: term().

为 SSH 会话打开通道。

-spec sftp_connect(SSH) -> {ok, Server} | {error, Reason}
                      when SSH :: connection(), Server :: pid(), Reason :: term().

在已有的 SSH 连接上启动 SFTP 会话。Server 标识新会话,并且每次要发送 SFTP 请求时都必须指定。

此函数的链接

shell(SSH, ChannelId)

查看源代码 (自 OTP 20.0 起)
-spec shell(SSH, ChannelId) -> Result
               when
                   SSH :: connection(),
                   ChannelId :: ssh:ssh_channel_id(),
                   Result :: ok | {error, term()}.

等效于 shell(SSH, ChannelId, DefaultTimeout)

此函数的链接

shell(SSH, ChannelId, Timeout)

查看源代码 (自 OTP 20.0 起)
-spec shell(SSH, ChannelId, Timeout) -> Result
               when
                   SSH :: connection(),
                   ChannelId :: ssh:ssh_channel_id(),
                   Timeout :: timeout(),
                   Result :: ok | {error, term()}.

请求在服务器端执行用户的默认 shell(通常在 Unix 系统中的 /etc/passwd 中定义)。

此函数的链接

subsystem(SSH, ChannelId, Subsystem)

查看源代码
-spec subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason}
                   when
                       SSH :: connection(),
                       ChannelId :: ssh_channel_id(),
                       Subsystem :: string(),
                       Status :: success | failure,
                       Reason :: term().

等效于 subsystem(SSH, Channel, Subsystem, DefaultTimeout)

此函数的链接

subsystem(SSH, ChannelId, Subsystem, Timeout)

查看源代码
-spec subsystem(SSH, ChannelId, Subsystem, Timeout) -> Status | {error, Reason}
                   when
                       SSH :: connection(),
                       ChannelId :: ssh_channel_id(),
                       Subsystem :: string(),
                       Timeout :: timeout(),
                       Status :: success | failure,
                       Reason :: term().

发送执行预定义子系统的请求。

此函数的链接

write(SSH, Handle, Data)

查看源代码
-spec write(SSH, Handle, Data) -> Result
               when
                   SSH :: connection(),
                   Handle :: term(),
                   Data :: iodata(),
                   Result :: ok | {error, Reason},
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

write(SSH, Server, Handle, Data)

查看源代码
-spec write(SSH, Server, Handle, Data) -> Result
               when
                   SSH :: connection(),
                   Server :: pid(),
                   Handle :: term(),
                   Data :: iodata(),
                   Result :: ok | {error, Reason},
                   Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

write_file(SSH, File, Iolist)

查看源代码
-spec write_file(SSH, File, Iolist) -> Result
                    when
                        SSH :: connection(),
                        File :: file:filename(),
                        Iolist :: iodata(),
                        Result :: ok | {error, Reason},
                        Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

write_file(SSH, Server, File, Iolist)

查看源代码
-spec write_file(SSH, Server, File, Iolist) -> Result
                    when
                        SSH :: connection(),
                        Server :: pid(),
                        File :: file:filename(),
                        Iolist :: iodata(),
                        Result :: ok | {error, Reason},
                        Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

write_file_info(SSH, Name, Info)

查看源代码
-spec write_file_info(SSH, Name, Info) -> Result
                         when
                             SSH :: connection(),
                             Name :: file:filename(),
                             Info :: file:file_info(),
                             Result :: ok | {error, Reason},
                             Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp

此函数的链接

write_file_info(SSH, Server, Name, Info)

查看源代码
-spec write_file_info(SSH, Server, Name, Info) -> Result
                         when
                             SSH :: connection(),
                             Server :: pid(),
                             Name :: file:filename(),
                             Info :: file:file_info(),
                             Result :: ok | {error, Reason},
                             Reason :: term().

有关信息和其他类型,请参阅 ssh_sftp