ct_ssh
ct_ssh
模块
ct_ssh
模块摘要
SSH/SFTP客户端模块。
描述
SSH/SFTP客户端模块。
本模块使用应用程序。SSH
,它提供有关例如函数、类型和选项的详细信息。
Server
SFTP功能中的参数仅用于在现有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(3)
。
中的所有超时参数ct_ssh
函数是以毫秒为单位的值。
数据类型
connection() = handle() | target_name()
对于target_name
,请参阅模块ct
。
handle() = handle()
处理特定的SSH / SFTP连接,请参阅模块ct
。
ssh_sftp_return() = term()
从ssh_sftp
函数返回值。
出口
apread(SSH, Handle, Position, Length) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
apread(SSH, Server, Handle, Position, Length) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
apwrite(SSH, Handle, Position, Data) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
apwrite(SSH, Server, Handle, Position, Data) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
aread(SSH, Handle, Len) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
aread(SSH, Server, Handle, Len) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
awrite(SSH, Handle, Data) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
awrite(SSH, Server, Handle, Data) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
close(SSH, Handle) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
close(SSH, Server, Handle) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
connect(KeyOrName) -> {ok, Handle} | {error, Reason}
相当于ct_ssh:connect(KeyOrName, host, [])
。
connect(KeyOrName, ConnType) -> {ok, Handle} | {error, Reason}
相当于ct_ssh:connect(KeyOrName, ConnType, [])
。
connect(KeyOrName, ConnType, ExtraOpts) -> {ok, Handle} | {error, Reason}
类型
使用与之相关的信息打开SSH或SFTP连接KeyOrName
。
如果Name
(别名为Key
)用于标识连接,则此名称可用作后续调用的连接参考。一次只能打开一个打开的连接Name
。如果Key
使用,则返回的句柄必须用于后续调用(可以使用由指定的配置数据打开多个连接Key
)。
有关如何创建新的信息Name
,请参阅ct:require/2
。
对于target_name
,请参阅模块ct
。
ConnType
总是覆盖配置数据(和in ExtraOpts
)中地址元组中指定的类型。因此,可以使用最初指定SSH连接的数据直接打开SFTP连接。值host
意味着使用主机选项指定的连接类型(在配置数据中或在中ExtraOpts
)。
ExtraOpts
(可选)是要添加到配置数据中的额外SSH
选项KeyOrName
。额外的选项将覆盖配置数据中具有相同键的所有现有选项。有关有效SSH
选项的详细信息,请参阅应用程序SSH
。
del_dir(SSH, Name) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
del_dir(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
delete(SSH, Name) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
delete(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
disconnect(SSH) -> ok | {error, Reason}
类型
关闭SSH/SFTP连接。
exec(SSH, Command) -> {ok, Data} | {error, Reason}
相当于ct_ssh:exec(SSH, Command, DefaultTimeout)
。
exec(SSH, Command, Timeout) -> {ok, Data} | {error, Reason}
类型
请求服务器执行Command
。会话通道自动为请求打开。Data
作为命令的结果从服务器收到。
exec(SSH, ChannelId, Command, Timeout) -> {ok, Data} | {error, Reason}
类型
请求服务器执行Command
.以前打开的会话通道用于请求。Data
作为命令的结果从服务器接收。
get_file_info(SSH, Handle) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
get_file_info(SSH, Server, Handle) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
list_dir(SSH, Path) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
list_dir(SSH, Server, Path) -> Result
类型
有关信息和其他类型,请参阅ssh_sftp(3)
。
make_dir(SSH, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
make_dir(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
make_symlink(SSH, Name, Target) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
make_symlink(SSH, Server, Name, Target) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
open(SSH, File, Mode) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
open(SSH, Server, File, Mode) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
opendir(SSH, Path) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
opendir(SSH, Server, Path) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
position(SSH, Handle, Location) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
position(SSH, Server, Handle, Location) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
pread(SSH, Handle, Position, Length) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
pread(SSH, Server, Handle, Position, Length) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
pwrite(SSH, Handle, Position, Data) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
pwrite(SSH, Server, Handle, Position, Data) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read(SSH, Handle, Len) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read(SSH, Server, Handle, Len) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_file(SSH, File) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_file(SSH, Server, File) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_file_info(SSH, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_file_info(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_link(SSH, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_link(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_link_info(SSH, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
read_link_info(SSH, Server, Name) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
receive_response(SSH, ChannelId) -> {ok, Data} | {error, Reason}
相当于ct_ssh:receive_response(SSH, ChannelId, close)
...
receive_response(SSH, ChannelId, End) -> {ok, Data} | {error, Reason}
相当于ct_ssh:receive_response(SSH, ChannelId, End, DefaultTimeout)
...
receive_response(SSH, ChannelId, End, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}
类型
从指定会话通道上的服务器接收预期数据。
如果End == close
,则当服务器关闭通道时,数据将返回给调用方。如果在此之前发生超时,则函数将返回。{timeout,Data}
%28Data
到目前为止收到的数据是%29。
如果End == timeout
,预计会暂停,而且{ok,Data}
在超时情况下和通道关闭时都会返回。
如果End
是一种乐趣,这种乐趣是用一个参数调用的,数据值在接收到的ssh_cm
消息%28见ssh_connection(3)
.有趣的是返回true
若要结束接收操作%28并使迄今收集的数据返回%29或false
若要等待来自服务器的更多数据,请执行以下操作。即使提供了乐趣,如果服务器关闭通道%29,则函数将立即返回。
rename(SSH, OldName, NewName) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
rename(SSH, Server, OldName, NewName) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
send(SSH, ChannelId, Data) -> ok | {error, Reason}
相当于ct_ssh:send(SSH, ChannelId, 0, Data, DefaultTimeout)
...
send(SSH, ChannelId, Data, Timeout) -> ok | {error, Reason}
相当于ct_ssh:send(SSH, ChannelId, 0, Data, Timeout)
...
send(SSH, ChannelId, Type, Data, Timeout) -> ok | {error, Reason}
类型
在指定的会话通道上向服务器发送数据。
send_and_receive(SSH, ChannelId, Data) -> {ok, Data} | {error, Reason}
相当于ct_ssh:send_and_receive(SSH, ChannelId, Data, close)
...
send_and_receive(SSH, ChannelId, Data, End) -> {ok, Data} | {error, Reason}
相当于ct_ssh;send_and_receive(SSH, ChannelId, 0, Data, End, DefaultTimeout)
...
send_and_receive(SSH, ChannelId, Data, End, Timeout) -> {ok, Data} | {error, Reason}
相当于ct_ssh:send_and_receive(SSH, ChannelId, 0, Data, End, Timeout)
...
send_and_receive(SSH, ChannelId, Type, Data, End, Timeout) -> {ok, Data} | {error, Reason}
类型
在指定的会话通道上向服务器发送数据,并等待接收服务器响应。
有关论据的详情End
,见ct_ssh:receive_response/4
...
session_close(SSH, ChannelId) -> ok | {error, Reason}
类型
关闭SSH会话通道。
session_open(SSH) -> {ok, ChannelId} | {error, Reason}
相当于ct_ssh:session_open(SSH, DefaultTimeout)
...
session_open(SSH, Timeout) -> {ok, ChannelId} | {error, Reason}
类型
打开SSH会话的通道。
sftp_connect(SSH) -> {ok, Server} | {error, Reason}
类型
在已有的SSH连接上启动SFTP会话。Server
标识新会话,并且必须在发送SFTP请求时指定。
shell(SSH, ChannelId) -> ok | {error, Reason}
相当于ct_ssh:shell(SSH, ChannelId, DefaultTimeout)
...
shell(SSH, ChannelId, Timeout) -> ok | {error, Reason}
类型
中定义的用户默认shell%28的请求。/etc/passwd
在Unix系统中,%29在服务器端执行。
subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason}
相当于ct_ssh:subsystem(SSH, ChannelId, Subsystem, DefaultTimeout)
...
subsystem(SSH, ChannelId, Subsystem, Timeout) -> Status | {error, Reason}
类型
发送执行预定义子系统的请求。
write(SSH, Handle, Data) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
write(SSH, Server, Handle, Data) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
write_file(SSH, File, Iolist) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
write_file(SSH, Server, File, Iolist) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
write_file_info(SSH, Name, Info) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...
write_file_info(SSH, Server, Name, Info) -> Result
类型
有关信息和其他类型,请参见ssh_sftp(3)
...