查看源代码 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 连接的引用,该连接与 handle
或 target_name
相关联。
用于连接的连接类型。
表示连接内部通道的数据类型。
有效值为 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 连接。
有关信息和其他类型,请参阅 ssh_sftp
。
有关信息和其他类型,请参阅 ssh_sftp
。
有关信息和其他类型,请参阅 ssh_sftp
。
有关信息和其他类型,请参阅 ssh_sftp
。
关闭 SSH/SFTP 连接。
请求服务器执行 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_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
。
类型
-type connection() :: handle() | ct:target_name().
指向打开的 SSH/SFTP 连接的引用,该连接与 handle
或 target_name
相关联。
-type connection_type() :: host | ssh | sftp.
用于连接的连接类型。
-type handle() :: pid().
特定 SSH/SFTP 连接的句柄,请参阅模块 ct
。
-type ssh_channel_id() :: non_neg_integer().
表示连接内部通道的数据类型。
“对于 ssh_channel_id
,请参阅模块 ssh
。”
-type ssh_data_type_code() :: non_neg_integer().
有效值为 0
(“normal”) 和 1
(“stderr”),请参阅 RFC 4254, 第 5.2 节。
函数
-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
。
-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
。
-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
。
-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
。
-spec aread(SSH, Handle, Len) -> Result when SSH :: connection(), Handle :: term(), Len :: integer(), Result :: {async, N} | {error, Reason}, N :: term(), Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-spec awrite(SSH, Handle, Data) -> Result when SSH :: connection(), Handle :: term(), Data :: binary(), Result :: {async, N} | {error, Reason}, N :: term(), Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-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().
-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)
。
-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
。
-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
。
-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().
-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)
。
-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
作为命令的结果从服务器接收。
-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
。
-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
。
-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
。
-spec make_dir(SSH, Server, Name) -> Result when SSH :: connection(), Server :: pid(), Name :: file:filename(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-spec make_symlink(SSH, Name, Target) -> Result when SSH :: connection(), Name :: file:filename(), Target :: file:filename(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-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
。
-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
。
-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
。
-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
。
-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
。
-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
。
-spec pwrite(SSH, Handle, Position, Data) -> Result when SSH :: connection(), Handle :: term(), Position :: integer(), Data :: iolist(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-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
。
-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
。
-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
。
-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
。
-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
。
-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
。
-spec read_link_info(SSH, Name) -> Result when SSH :: connection(), Name :: string(), Result :: {ok, FileInfo} | {error, Reason}, FileInfo :: file:file_info(), Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-spec read_link_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 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)
。
-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
以等待来自服务器的更多数据。即使提供了函数,如果服务器关闭通道,该函数也会立即返回。
-spec rename(SSH, OldName, NewName) -> Result when SSH :: connection(), OldName :: file:filename(), NewName :: file:filename(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-spec send(SSH, ChannelId, Data) -> ok | {error, Reason} when SSH :: connection(), ChannelId :: ssh_channel_id(), Data :: iodata(), Reason :: term().
-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)
。
-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().
在指定的会话通道上将数据发送到服务器。
-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)
。
-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
。
-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().
-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 请求时都必须指定。
-spec shell(SSH, ChannelId) -> Result when SSH :: connection(), ChannelId :: ssh:ssh_channel_id(), Result :: ok | {error, term()}.
-spec shell(SSH, ChannelId, Timeout) -> Result when SSH :: connection(), ChannelId :: ssh:ssh_channel_id(), Timeout :: timeout(), Result :: ok | {error, term()}.
请求在服务器端执行用户的默认 shell(通常在 Unix 系统中的 /etc/passwd
中定义)。
-spec subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason} when SSH :: connection(), ChannelId :: ssh_channel_id(), Subsystem :: string(), Status :: success | failure, Reason :: term().
-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().
发送执行预定义子系统的请求。
-spec write(SSH, Handle, Data) -> Result when SSH :: connection(), Handle :: term(), Data :: iodata(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-spec write(SSH, Server, Handle, Data) -> Result when SSH :: connection(), Server :: pid(), Handle :: term(), Data :: iodata(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-spec write_file(SSH, File, Iolist) -> Result when SSH :: connection(), File :: file:filename(), Iolist :: iodata(), Result :: ok | {error, Reason}, Reason :: term().
有关信息和其他类型,请参阅 ssh_sftp
。
-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
。
-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
。
-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
。