Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ct_ssh (3erl)

Name

ct_ssh - SSH/SFTP client module.

Synopsis

Please see following description for synopsis

Description

ct_ssh(3)                  Erlang Module Definition                  ct_ssh(3)



NAME
       ct_ssh - SSH/SFTP client module.

DESCRIPTION
       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  ses-
       sions 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(3).

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

DATA TYPES
       connection() = handle() | target_name()

              For target_name, see module ct.

       handle() = handle()

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

       ssh_sftp_return() = term()

              Return value from an ssh_sftp function.

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       aread(SSH, Handle, Len) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       awrite(SSH, Handle, Data) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       close(SSH, Handle) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       close(SSH, Server, Handle) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

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

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

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

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

              Types:

                 KeyOrName = Key | Name
                 Key = atom()
                 Name = target_name()
                 ConnType = ssh | sftp | host
                 ExtraOpts = ssh_connect_options()
                 Handle = handle()
                 Reason = term()

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

              If Name (an alias name for Key) is used to identify the  connec-
              tion,  this  name can be used as connection reference for subse-
              quent 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.

       del_dir(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       del_dir(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       delete(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       delete(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Reason = term()

              Closes an SSH/SFTP connection.

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

              Equivalent to ct_ssh:exec(SSH, Command, DefaultTimeout).

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

              Types:

                 SSH = connection()
                 Command = string()
                 Timeout = integer()
                 Data = list()
                 Reason = term()

              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.

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Command = string()
                 Timeout = integer()
                 Data = list()
                 Reason = term()

              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.

       get_file_info(SSH, Handle) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       get_file_info(SSH, Server, Handle) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       list_dir(SSH, Path) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       list_dir(SSH, Server, Path) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       make_dir(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       make_dir(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       make_symlink(SSH, Name, Target) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       open(SSH, File, Mode) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       opendir(SSH, Path) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       opendir(SSH, Server, Path) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       position(SSH, Handle, Location) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read(SSH, Handle, Len) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_file(SSH, File) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_file(SSH, Server, File) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_file_info(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_file_info(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_link(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_link(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_link_info(SSH, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       read_link_info(SSH, Server, Name) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

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

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

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

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 End = Fun | close | timeout
                 Timeout = integer()
                 Data = list()
                 Reason = term()

              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 hap-
              pens, 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(3).  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 func-
              tion returns immediately if the server closes the channel).

       rename(SSH, OldName, NewName) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Equivalent to ct_ssh:send(SSH, ChannelId, 0, Data,  DefaultTime-
              out).

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

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

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Type = integer()
                 Data = list()
                 Timeout = integer()
                 Reason = term()

              Sends data to server on specified session channel.

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

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

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

              Equivalent  to  ct_ssh;send_and_receive(SSH, ChannelId, 0, Data,
              End, DefaultTimeout).

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

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

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Type = integer()
                 Data = list()
                 End = Fun | close | timeout
                 Timeout = integer()
                 Reason = term()

              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.

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Reason = term()

              Closes an SSH session channel.

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

              Equivalent to ct_ssh:session_open(SSH, DefaultTimeout).

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

              Types:

                 SSH = connection()
                 Timeout = integer()
                 ChannelId = integer()
                 Reason = term()

              Opens a channel for an SSH session.

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

              Types:

                 SSH = connection()
                 Server = pid()
                 Reason = term()

              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.

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

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

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Timeout = integer()
                 Reason = term()

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

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

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

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

              Types:

                 SSH = connection()
                 ChannelId = integer()
                 Subsystem = string()
                 Timeout = integer()
                 Status = success | failure
                 Reason = term()

              Sends a request to execute a predefined subsystem.

       write(SSH, Handle, Data) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       write_file(SSH, File, Iolist) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

       write_file_info(SSH, Name, Info) -> Result

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).

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

              Types:

                 SSH = connection()
                 Result = ssh_sftp_return() | {error, Reason}
                 Reason = term()

              For information and other types, see ssh_sftp(3).



Ericsson AB                    common_test 1.22                      ct_ssh(3)