View Source ct_ssh (common_test v1.26.2)

SSH/SFTP client module.

SSH/SFTP client module.

This module uses application SSH, which provides detailed information about, for example, functions, types, and options.

Argument Server in the SFTP functions is only to be used for SFTP sessions that have been started on existing SSH connections (that is, when the original connection type is ssh). Whenever the connection type is sftp, use the SSH connection reference only.

The following options are valid for specifying an SSH/SFTP connection (that is, can be used as configuration elements):

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

ConnType = ssh | sftp.

For other types, see ssh.

All time-out parameters in ct_ssh functions are values in milliseconds.

Summary

Types

For target_name, see module ct.

Connection type used for connect

Handle for a specific SSH/SFTP connection, see module ct.

For ssh_channel_id, see module ssh.

The valid values are 0 ("normal") and 1 ("stderr"), see RFC 4254, Section 5.2.

Functions

apread(SSH, Handle, Position, Length) -> Result

apread(SSH, Server, Handle, Position, Length) -> Result

apwrite(SSH, Handle, Position, Data) -> Result

apwrite(SSH, Server, Handle, Position, Data) -> Result

aread(SSH, Handle, Len) -> Result

aread(SSH, Server, Handle, Len) -> Result

awrite(SSH, Handle, Data) -> Result

awrite(SSH, Server, Handle, Data) -> Result

close(SSH, Handle) -> Result

close(SSH, Server, Handle) -> Result

connect(KeyOrName) -> {ok, Handle} | {error, Reason}

connect(KeyOrName, ConnType) -> {ok, Handle} | {error, Reason}

connect(KeyOrName, ConnType, ExtraOpts) -> {ok, Handle} | {error, Reason}

del_dir(SSH, Name) -> Result

del_dir(SSH, Server, Name) -> Result

delete(SSH, Name) -> Result

delete(SSH, Server, Name) -> Result

disconnect(SSH) -> ok | {error, Reason}

exec(SSH, Command) -> {ok, Data} | {error, Reason}

exec(SSH, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

exec(SSH, ChannelId, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

get_file_info(SSH, Handle) -> Result

get_file_info(SSH, Server, Handle) -> Result

list_dir(SSH, Path) -> Result

list_dir(SSH, Server, Path) -> Result

make_dir(SSH, Name) -> Result

make_dir(SSH, Server, Name) -> Result

make_symlink(SSH, Name, Target) -> Result

make_symlink(SSH, Server, Name, Target) -> Result

open(SSH, File, Mode) -> Result

open(SSH, Server, File, Mode) -> Result

opendir(SSH, Path) -> Result

opendir(SSH, Server, Path) -> Result

position(SSH, Handle, Location) -> Result

position(SSH, Server, Handle, Location) -> Result

pread(SSH, Handle, Position, Length) -> Result

pread(SSH, Server, Handle, Position, Length) -> Result

pwrite(SSH, Handle, Position, Data) -> Result

pwrite(SSH, Server, Handle, Position, Data) -> Result

read(SSH, Handle, Len) -> Result

read(SSH, Server, Handle, Len) -> Result

read_file(SSH, File) -> Result

read_file(SSH, Server, File) -> Result

read_file_info(SSH, Name) -> Result

read_file_info(SSH, Server, Name) -> Result

read_link(SSH, Name) -> Result

read_link(SSH, Server, Name) -> Result

read_link_info(SSH, Name) -> Result

read_link_info(SSH, Server, Name) -> Result

receive_response(SSH, ChannelId) -> {ok, Data} | {timeout, Data} | {error, Reason}

receive_response(SSH, ChannelId, End) -> {ok, Data} | {timeout, Data} | {error, Reason}

receive_response(SSH, ChannelId, End, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

rename(SSH, OldName, NewName) -> Result

rename(SSH, Server, OldName, NewName) -> Result

send(SSH, ChannelId, Data) -> ok | {error, Reason}

send(SSH, ChannelId, Data, Timeout) -> ok | {error, Reason}

send(SSH, ChannelId, Type, Data, Timeout) -> ok | {error, Reason}

send_and_receive(SSH, ChannelId, Data) -> {ok, Data} | {timeout, Data} | {error, Reason}

send_and_receive(SSH, ChannelId, Data, End) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

send_and_receive(SSH, ChannelId, Data, End, Timeout) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

send_and_receive(SSH, ChannelId, Type, Data, End, Timeout) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

session_close(SSH, ChannelId) -> ok | {error, Reason}

session_open(SSH) -> {ok, ChannelId} | {error, Reason}

session_open(SSH, Timeout) -> {ok, ChannelId} | {error, Reason}

sftp_connect(SSH) -> {ok, Server} | {error, Reason}

shell(SSH, ChannelId) -> ok | {error, Reason}

shell(SSH, ChannelId, Timeout) -> ok | {error, Reason}

subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason}

subsystem(SSH, ChannelId, Subsystem, Timeout) -> Status | {error, Reason}

write(SSH, Handle, Data) -> Result

write(SSH, Server, Handle, Data) -> Result

write_file(SSH, File, Iolist) -> Result

write_file(SSH, Server, File, Iolist) -> Result

write_file_info(SSH, Name, Info) -> Result

write_file_info(SSH, Server, Name, Info) -> Result

Types

Link to this type

connection()

View Source (not exported)
-type connection() :: handle() | ct:target_name().

For target_name, see module ct.

Link to this type

connection_type()

View Source (not exported)
-type connection_type() :: host | ssh | sftp.

Connection type used for connect

Link to this type

handle()

View Source (not exported)
-type handle() :: pid().

Handle for a specific SSH/SFTP connection, see module ct.

Link to this type

ssh_channel_id()

View Source (not exported)
-type ssh_channel_id() :: non_neg_integer().

For ssh_channel_id, see module ssh.

Link to this type

ssh_data_type_code()

View Source (not exported)
-type ssh_data_type_code() :: non_neg_integer().

The valid values are 0 ("normal") and 1 ("stderr"), see RFC 4254, Section 5.2.

Functions

Link to this function

apread(SSH, Handle, Position, Length)

View Source
-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().

apread(SSH, Handle, Position, Length) -> Result

For information and other types, see ssh_sftp.

Link to this function

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

View Source
-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().

apread(SSH, Server, Handle, Position, Length) -> Result

For information and other types, see ssh_sftp.

Link to this function

apwrite(SSH, Handle, Position, Data)

View Source
-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().

apwrite(SSH, Handle, Position, Data) -> Result

For information and other types, see ssh_sftp.

Link to this function

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

View Source
-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().

apwrite(SSH, Server, Handle, Position, Data) -> Result

For information and other types, see ssh_sftp.

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

aread(SSH, Handle, Len) -> Result

For information and other types, see ssh_sftp.

Link to this function

aread(SSH, Server, Handle, Len)

View Source
-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().

aread(SSH, Server, Handle, Len) -> Result

For information and other types, see ssh_sftp.

Link to this function

awrite(SSH, Handle, Data)

View Source
-spec awrite(SSH, Handle, Data) -> Result
          when
              SSH :: connection(),
              Handle :: term(),
              Data :: binary(),
              Result :: {async, N} | {error, Reason},
              N :: term(),
              Reason :: term().

awrite(SSH, Handle, Data) -> Result

For information and other types, see ssh_sftp.

Link to this function

awrite(SSH, Server, Handle, Data)

View Source
-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().

awrite(SSH, Server, Handle, Data) -> Result

For information and other types, see ssh_sftp.

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

close(SSH, Handle) -> Result

For information and other types, see ssh_sftp.

Link to this function

close(SSH, Server, Handle)

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

close(SSH, Server, Handle) -> Result

For information and other types, see ssh_sftp.

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

connect(KeyOrName) -> {ok, Handle} | {error, Reason}

Equivalent to ct_ssh:connect(KeyOrName, host, []).

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

connect(KeyOrName, ConnType) -> {ok, Handle} | {error, Reason}

Equivalent to ct_ssh:connect(KeyOrName, ConnType, []).

Link to this function

connect(KeyOrName, ConnType, ExtraOpts)

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

connect(KeyOrName, ConnType, ExtraOpts) -> {ok, Handle} | {error, Reason}

Opens an SSH or SFTP connection using the information associated with KeyOrName.

If Name (an alias name for Key) is used to identify the connection, this name can be used as connection reference for subsequent calls. Only one open connection at a time associated with Name is possible. If Key is used, the returned handle must be used for subsequent calls (multiple connections can be opened using the configuration data specified by Key).

For information on how to create a new Name, see ct:require/2.

For target_name, see module ct.

ConnType always overrides the type specified in the address tuple in the configuration data (and in ExtraOpts). So it is possible to, for example, open an SFTP connection directly using data originally specifying an SSH connection. Value host means that the connection type specified by the host option (either in the configuration data or in ExtraOpts) is used.

ExtraOpts (optional) are extra SSH options to be added to the configuration data for KeyOrName. The extra options override any existing options with the same key in the configuration data. For details on valid SSH options, see application SSH.

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

del_dir(SSH, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

del_dir(SSH, Server, Name)

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

del_dir(SSH, Server, Name) -> Result

For information and other types, see ssh_sftp.

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

delete(SSH, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

delete(SSH, Server, Name)

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

delete(SSH, Server, Name) -> Result

For information and other types, see ssh_sftp.

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

disconnect(SSH) -> ok | {error, Reason}

Closes an SSH/SFTP connection.

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

exec(SSH, Command) -> {ok, Data} | {error, Reason}

Equivalent to ct_ssh: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().

exec(SSH, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

Requests server to perform Command. A session channel is opened automatically for the request. Data is received from the server as a result of the command.

Link to this function

exec(SSH, ChannelId, Command, Timeout)

View Source
-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().

exec(SSH, ChannelId, Command, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

Requests server to perform Command. A previously opened session channel is used for the request. Data is received from the server as a result of the command.

Link to this function

get_file_info(SSH, Handle)

View Source
-spec get_file_info(SSH, Handle) -> Result
                 when
                     SSH :: connection(),
                     Handle :: term(),
                     Result :: {ok, FileInfo} | {error, Reason},
                     FileInfo :: file:file_info(),
                     Reason :: term().

get_file_info(SSH, Handle) -> Result

For information and other types, see ssh_sftp.

Link to this function

get_file_info(SSH, Server, Handle)

View Source
-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().

get_file_info(SSH, Server, Handle) -> Result

For information and other types, see 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().

list_dir(SSH, Path) -> Result

For information and other types, see ssh_sftp.

Link to this function

list_dir(SSH, Server, Path)

View Source
-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().

list_dir(SSH, Server, Path) -> Result

For information and other types, see ssh_sftp.

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

make_dir(SSH, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

make_dir(SSH, Server, Name)

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

make_dir(SSH, Server, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

make_symlink(SSH, Name, Target)

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

make_symlink(SSH, Name, Target) -> Result

For information and other types, see ssh_sftp.

Link to this function

make_symlink(SSH, Server, Name, Target)

View Source
-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().

make_symlink(SSH, Server, Name, Target) -> Result

For information and other types, see 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().

open(SSH, File, Mode) -> Result

For information and other types, see ssh_sftp.

Link to this function

open(SSH, Server, File, Mode)

View Source
-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().

open(SSH, Server, File, Mode) -> Result

For information and other types, see ssh_sftp.

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

opendir(SSH, Path) -> Result

For information and other types, see ssh_sftp.

Link to this function

opendir(SSH, Server, Path)

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

opendir(SSH, Server, Path) -> Result

For information and other types, see ssh_sftp.

Link to this function

position(SSH, Handle, Location)

View Source
-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().

position(SSH, Handle, Location) -> Result

For information and other types, see ssh_sftp.

Link to this function

position(SSH, Server, Handle, Location)

View Source
-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().

position(SSH, Server, Handle, Location) -> Result

For information and other types, see ssh_sftp.

Link to this function

pread(SSH, Handle, Position, Length)

View Source
-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().

pread(SSH, Handle, Position, Length) -> Result

For information and other types, see ssh_sftp.

Link to this function

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

View Source
-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().

pread(SSH, Server, Handle, Position, Length) -> Result

For information and other types, see ssh_sftp.

Link to this function

pwrite(SSH, Handle, Position, Data)

View Source
-spec pwrite(SSH, Handle, Position, Data) -> Result
          when
              SSH :: connection(),
              Handle :: term(),
              Position :: integer(),
              Data :: iolist(),
              Result :: ok | {error, Reason},
              Reason :: term().

pwrite(SSH, Handle, Position, Data) -> Result

For information and other types, see ssh_sftp.

Link to this function

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

View Source
-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().

pwrite(SSH, Server, Handle, Position, Data) -> Result

For information and other types, see 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().

read(SSH, Handle, Len) -> Result

For information and other types, see ssh_sftp.

Link to this function

read(SSH, Server, Handle, Len)

View Source
-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().

read(SSH, Server, Handle, Len) -> Result

For information and other types, see ssh_sftp.

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

read_file(SSH, File) -> Result

For information and other types, see ssh_sftp.

Link to this function

read_file(SSH, Server, File)

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

read_file(SSH, Server, File) -> Result

For information and other types, see ssh_sftp.

Link to this function

read_file_info(SSH, Name)

View Source
-spec read_file_info(SSH, Name) -> Result
                  when
                      SSH :: connection(),
                      Name :: file:filename(),
                      Result :: {ok, FileInfo} | {error, Reason},
                      FileInfo :: file:file_info(),
                      Reason :: term().

read_file_info(SSH, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

read_file_info(SSH, Server, Name)

View Source
-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().

read_file_info(SSH, Server, Name) -> Result

For information and other types, see ssh_sftp.

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

read_link(SSH, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

read_link(SSH, Server, Name)

View Source
-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().

read_link(SSH, Server, Name) -> Result

For information and other types, see ssh_sftp.

Link to this function

receive_response(SSH, ChannelId)

View Source
-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) -> {ok, Data} | {timeout, Data} | {error, Reason}

Equivalent to ct_ssh:receive_response(SSH, ChannelId, close).

-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(SSH, ChannelId, End) -> {ok, Data} | {timeout, Data} | {error, Reason}

Equivalent to ct_ssh:receive_response(SSH, ChannelId, End, DefaultTimeout).

Link to this function

receive_response(SSH, ChannelId, End, Timeout)

View Source
-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().

receive_response(SSH, ChannelId, End, Timeout) -> {ok, Data} | {timeout, Data} | {error, Reason}

Receives expected data from server on the specified session channel.

If End == close, data is returned to the caller when the channel is closed by the server. If a time-out occurs before this happens, the function returns {timeout,Data} (where Data is the data received so far).

If End == timeout, a time-out is expected and {ok,Data} is returned both in the case of a time-out and when the channel is closed.

If End is a fun, this fun is called with one argument, the data value in a received ssh_cm message (see ssh_connection. The fun is to return either true to end the receiving operation (and have the so far collected data returned) or false to wait for more data from the server. Even if a fun is supplied, the function returns immediately if the server closes the channel).

Link to this function

rename(SSH, OldName, NewName)

View Source
-spec rename(SSH, OldName, NewName) -> Result
          when
              SSH :: connection(),
              OldName :: file:filename(),
              NewName :: file:filename(),
              Result :: ok | {error, Reason},
              Reason :: term().

rename(SSH, OldName, NewName) -> Result

For information and other types, see ssh_sftp.

Link to this function

rename(SSH, Server, OldName, NewName)

View Source
-spec rename(SSH, Server, OldName, NewName) -> Result
          when
              SSH :: connection(),
              Server :: pid(),
              OldName :: file:filename(),
              NewName :: file:filename(),
              Result :: ok | {error, Reason},
              Reason :: term().

rename(SSH, Server, OldName, NewName) -> Result

For information and other types, see ssh_sftp.

Link to this function

send(SSH, ChannelId, Data)

View Source
-spec send(SSH, ChannelId, Data) -> ok | {error, Reason}
        when
            SSH :: connection(), ChannelId :: ssh_channel_id(), Data :: iodata(), Reason :: term().

send(SSH, ChannelId, Data) -> ok | {error, Reason}

Equivalent to ct_ssh: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(SSH, ChannelId, Data, Timeout) -> ok | {error, Reason}

Equivalent to ct_ssh:send(SSH, ChannelId, 0, Data, Timeout).

Link to this function

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

View Source
-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(SSH, ChannelId, Type, Data, Timeout) -> ok | {error, Reason}

Sends data to server on specified session channel.

Link to this function

send_and_receive(SSH, ChannelId, Data)

View Source
-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, Data) -> {ok, Data} | {timeout, Data} | {error, Reason}

Equivalent to ct_ssh:send_and_receive(SSH, ChannelId, Data, close).

-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(SSH, ChannelId, Data, End) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

Equivalent to ct_ssh;send_and_receive(SSH, ChannelId, 0, Data, End, 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(SSH, ChannelId, Data, End, Timeout) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

Equivalent to ct_ssh:send_and_receive(SSH, ChannelId, 0, Data, End, Timeout).

Link to this function

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

View Source
-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().

send_and_receive(SSH, ChannelId, Type, Data, End, Timeout) -> {ok, ReceivedData} | {timeout, ReceivedData} | {error, Reason}

Sends data to server on specified session channel and waits to receive the server response.

For details on argument End, see ct_ssh:receive_response/4.

Link to this function

session_close(SSH, ChannelId)

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

session_close(SSH, ChannelId) -> ok | {error, Reason}

Closes an SSH session channel.

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

session_open(SSH) -> {ok, ChannelId} | {error, Reason}

Equivalent to ct_ssh:session_open(SSH, DefaultTimeout).

Link to this function

session_open(SSH, Timeout)

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

session_open(SSH, Timeout) -> {ok, ChannelId} | {error, Reason}

Opens a channel for an SSH session.

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

sftp_connect(SSH) -> {ok, Server} | {error, Reason}

Starts an SFTP session on an already existing SSH connection. Server identifies the new session and must be specified whenever SFTP requests are to be sent.

Link to this function

shell(SSH, ChannelId)

View Source (since OTP 20.0)
-spec shell(SSH, ChannelId) -> Result
         when
             SSH :: connection(),
             ChannelId :: ssh:ssh_channel_id(),
             Result :: ok | {error, term()}.

shell(SSH, ChannelId) -> ok | {error, Reason}

Equivalent to ct_ssh:shell(SSH, ChannelId, DefaultTimeout).

Link to this function

shell(SSH, ChannelId, Timeout)

View Source (since OTP 20.0)
-spec shell(SSH, ChannelId, Timeout) -> Result
         when
             SSH :: connection(),
             ChannelId :: ssh:ssh_channel_id(),
             Timeout :: timeout(),
             Result :: ok | {error, term()}.

shell(SSH, ChannelId, Timeout) -> ok | {error, Reason}

Requests that the user default shell (typically defined in /etc/passwd in Unix systems) is executed at the server end.

Link to this function

subsystem(SSH, ChannelId, Subsystem)

View Source
-spec subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason}
             when
                 SSH :: connection(),
                 ChannelId :: ssh_channel_id(),
                 Subsystem :: string(),
                 Status :: success | failure,
                 Reason :: term().

subsystem(SSH, ChannelId, Subsystem) -> Status | {error, Reason}

Equivalent to ct_ssh:subsystem(SSH, ChannelId, Subsystem, DefaultTimeout).

Link to this function

subsystem(SSH, ChannelId, Subsystem, Timeout)

View Source
-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().

subsystem(SSH, ChannelId, Subsystem, Timeout) -> Status | {error, Reason}

Sends a request to execute a predefined subsystem.

Link to this function

write(SSH, Handle, Data)

View Source
-spec write(SSH, Handle, Data) -> Result
         when
             SSH :: connection(),
             Handle :: term(),
             Data :: iodata(),
             Result :: ok | {error, Reason},
             Reason :: term().

write(SSH, Handle, Data) -> Result

For information and other types, see ssh_sftp.

Link to this function

write(SSH, Server, Handle, Data)

View Source
-spec write(SSH, Server, Handle, Data) -> Result
         when
             SSH :: connection(),
             Server :: pid(),
             Handle :: term(),
             Data :: iodata(),
             Result :: ok | {error, Reason},
             Reason :: term().

write(SSH, Server, Handle, Data) -> Result

For information and other types, see ssh_sftp.

Link to this function

write_file(SSH, File, Iolist)

View Source
-spec write_file(SSH, File, Iolist) -> Result
              when
                  SSH :: connection(),
                  File :: file:filename(),
                  Iolist :: iodata(),
                  Result :: ok | {error, Reason},
                  Reason :: term().

write_file(SSH, File, Iolist) -> Result

For information and other types, see ssh_sftp.

Link to this function

write_file(SSH, Server, File, Iolist)

View Source
-spec write_file(SSH, Server, File, Iolist) -> Result
              when
                  SSH :: connection(),
                  Server :: pid(),
                  File :: file:filename(),
                  Iolist :: iodata(),
                  Result :: ok | {error, Reason},
                  Reason :: term().

write_file(SSH, Server, File, Iolist) -> Result

For information and other types, see ssh_sftp.

Link to this function

write_file_info(SSH, Name, Info)

View Source
-spec write_file_info(SSH, Name, Info) -> Result
                   when
                       SSH :: connection(),
                       Name :: file:filename(),
                       Info :: file:file_info(),
                       Result :: ok | {error, Reason},
                       Reason :: term().

write_file_info(SSH, Name, Info) -> Result

For information and other types, see ssh_sftp.

Link to this function

write_file_info(SSH, Server, Name, Info)

View Source
-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().

write_file_info(SSH, Server, Name, Info) -> Result

For information and other types, see ssh_sftp.