salt.modules.scp module

SCP Module

New in version 2019.2.0.

Module to copy files via SCP

salt.modules.scp_mod.get(remote_path, local_path=u'', recursive=False, preserve_times=False, **kwargs)

Transfer files and directories from remote host to the localhost of the Minion.

remote_path
Path to retrieve from remote host. Since this is evaluated by scp on the remote host, shell wildcards and environment variables may be used.
recursive: False
Transfer files and directories recursively.
preserve_times: False
Preserve mtime and atime of transferred files and directories.
hostname
The hostname of the remote device.
port: 22
The port of the remote device.
username
The username required for SSH authentication on the device.
password
Used for password authentication. It is also used for private key decryption if passphrase is not given.
passphrase
Used for decrypting private keys.
pkey
An optional private key to use for authentication.
key_filename
The filename, or list of filenames, of optional private key(s) and/or certificates to try for authentication.
timeout
An optional timeout (in seconds) for the TCP connect.
socket_timeout: 10
The channel socket timeout in seconds.
buff_size: 16384
The size of the SCP send buffer.
allow_agent: True
Set to False to disable connecting to the SSH agent.
look_for_keys: True
Set to False to disable searching for discoverable private key files in ~/.ssh/
banner_timeout
An optional timeout (in seconds) to wait for the SSH banner to be presented.
auth_timeout
An optional timeout (in seconds) to wait for an authentication response.
auto_add_policy: False
Automatically add the host to the known_hosts.

CLI Example:

salt '*' scp.get /var/tmp/file /tmp/file hostname=10.10.10.1 auto_add_policy=True
salt.modules.scp_mod.put(files, remote_path=None, recursive=False, preserve_times=False, saltenv=u'base', **kwargs)

Transfer files and directories to remote host.

files
A single path or a list of paths to be transferred.
remote_path
The path on the remote device where to store the files.
recursive: True
Transfer files and directories recursively.
preserve_times: False
Preserve mtime and atime of transferred files and directories.
hostname
The hostname of the remote device.
port: 22
The port of the remote device.
username
The username required for SSH authentication on the device.
password
Used for password authentication. It is also used for private key decryption if passphrase is not given.
passphrase
Used for decrypting private keys.
pkey
An optional private key to use for authentication.
key_filename
The filename, or list of filenames, of optional private key(s) and/or certificates to try for authentication.
timeout
An optional timeout (in seconds) for the TCP connect.
socket_timeout: 10
The channel socket timeout in seconds.
buff_size: 16384
The size of the SCP send buffer.
allow_agent: True
Set to False to disable connecting to the SSH agent.
look_for_keys: True
Set to False to disable searching for discoverable private key files in ~/.ssh/
banner_timeout
An optional timeout (in seconds) to wait for the SSH banner to be presented.
auth_timeout
An optional timeout (in seconds) to wait for an authentication response.
auto_add_policy: False
Automatically add the host to the known_hosts.

CLI Example:

salt '*' scp.put /path/to/file /var/tmp/file hostname=server1 auto_add_policy=True