scp
secure copy (remote file copy program)
see also :
rcp - sftp - ssh - ssh-add - ssh-agent - ssh-keygen
Synopsis
scp
[-12346BCpqrv]
[-c cipher]
[-F ssh_config]
[-i identity_file]
[-l limit]
[-o ssh_option]
[-P port]
[-S program] [
[user@]host1: ]file1 ... [
[user@]host2: ]file2
add an example, a script, a trick and tips
examples
source
scp $SCPOPTS $ARCHIVE $SCPTO
source
scp *rb newt:twitter/tgraph
source
scp slave.exe taibei:
scp slave.exe moon:
#scp slave.exe root@l56:
scp slave.exe root@l76:
scp slave.exe root@l80:
scp slave.exe root@l80:
scp slave.exe root@l81:
#scp slave.exe root@l82:
scp slave.exe root@l83:
scp slave.exe root@e09:
source
WinSCP client for Ubuntu
In the top-left corner you have three menus. Select the middle
one, and then the entry named something like "Connect to server".
Here you'll have a list of available methods, select SSH or SFTP
and fill in the details.
source
Linux: Continuously synchronize files, one way
What I did once is have a bash script running ls -l
in a loop (with some sleep) and comparing to the previous output.
If it changed, do your synchronization.
#!/bin/bash
listcommand="ls -l $*"
newfilelist=$( $listcommand )
while true
do
if [[ $oldfilelist != $newfilelist ]]
then
oldfilelist=$newfilelist
# run your synchronization tool
fi
sleep 10 || exit 2
newfilelist=$( $listcommand )
done
Start this script in a new terminal with the file names as
arguments (after putting in your synchronization tool).
(I used this to start a compilation, not to synchronize, but this
would work a similar way.)
source
Windows equivalent of SSH
PuTTY
for shell access.
WinSCP (UI, no
cmd) for file transfers.
source
How can I copy mutiple files over scp in one command
Doesn't scp -r yourdir otherhost:/otherdir
work?
Try this then:
tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"
the z
-flag to tar does compression. Or you can use
-C to ssh:
tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"
source
SCP from one external server to another
did you check that direct authentication works from first remote
host to the second one?
scp user@host:/file user@otherhost:/otherfile
is
shorthand for
ssh user@host scp /file user@otherhost:/otherfile
which leeds me to think:
ssh -p XXX user@host scp -P XXX /file
user@otherhost:/otherfile
might work.
source
How to copy a sparse file using scp?
Scp don't support sparse files. Use rsync instead.
rsync -aS /home/myself/test/ myself@myserver:
source
Linux: Alternative to rsync? (ie, scp with resume)
If you don't need comparing, only resuming you could transfer
files trough FTP or HTTP.
source
How to copy a file without using scp inside an ssh session?
To send a file:
cat file | ssh ajw@dogmatix "cat > remote"
Or:
ssh ajw@dogmatix "cat > remote" < file
To receive a file:
ssh ajw@dogmatix "cat remote" > copy
source
SSH from Windows to Linux without entering a password
source
How to use scp in a bash script without specifying password?
To login without password you need to setup key-based
authentication. There are a number of tutorials out there -
this one looks like a good place to start
(edit: the original site fell of the Internet, this link is to
the last copy archived by the WayBackMachine).
If you put a passphrase on your key (recommended) you will still
need to provide that when you login but you can use ssh-agent to
reduce the amount of times you have to provide it.
If you need scripts that use SSH/SCP to run unattended then you
need to not have a passphrase on your key, but in this case you
absolutely must keep that key file secure such that no-one else
can read it otherwise they will be able to authenticate on that
server as you without any password/passphrase.
description
scp copies files between
hosts on a network. It uses ssh(1) for data transfer, and
uses the same authentication and provides the same security
as ssh(1). Unlike rcp(1), scp will ask for passwords
or passphrases if they are needed for authentication.
File names may
contain a user and host specification to indicate that the
file is to be copied to/from that host. Local file names can
be made explicit using absolute or relative pathnames to
avoid scp treating file names containing
’:’ as host specifiers. Copies between two
remote hosts are also permitted.
The options are
as follows:
-1
Forces
scp to use protocol 1.
-2
Forces
scp to use protocol 2.
-3
Copies between
two remote hosts are transferred through the local host.
Without this option the data is copied directly between the
two remote hosts. Note that this option disables the
progress meter.
-4
Forces
scp to use IPv4 addresses only.
-6
Forces
scp to use IPv6 addresses only.
-B
Selects batch
mode (prevents asking for passwords or passphrases).
-C
Compression
enable. Passes the -C flag to ssh(1) to enable
compression.
-c
cipher
Selects the cipher to use for
encrypting the data transfer. This option is directly passed
to ssh(1).
-F
ssh_config
Specifies an alternative
per-user configuration file for ssh. This option is
directly passed to ssh(1).
-i
identity_file
Selects the file from which the
identity (private key) for public key authentication is
read. This option is directly passed to ssh(1).
-l limit
Limits the used bandwidth,
specified in Kbit/s.
-o
ssh_option
Can be used to pass options to
ssh in the format used in ssh_config(5). This is
useful for specifying options for which there is no separate
scp command-line flag. For full details of the
options listed below, and their possible values, see
ssh_config(5).
AddressFamily
BatchMode
BindAddress
ChallengeResponseAuthentication
CheckHostIP
Cipher
Ciphers
Compression
CompressionLevel
ConnectionAttempts
ConnectTimeout
ControlMaster
ControlPath
ControlPersist
GlobalKnownHostsFile
GSSAPIAuthentication
GSSAPIDelegateCredentials
HashKnownHosts
Host
HostbasedAuthentication
HostKeyAlgorithms
HostKeyAlias
HostName
IdentityFile
IdentitiesOnly
IPQoS
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
LogLevel
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
PasswordAuthentication
PKCS11Provider
Port
PreferredAuthentications
Protocol
ProxyCommand
PubkeyAuthentication
RekeyLimit
RhostsRSAAuthentication
RSAAuthentication
SendEnv
ServerAliveInterval
ServerAliveCountMax
StrictHostKeyChecking
TCPKeepAlive
UsePrivilegedPort
User
UserKnownHostsFile
VerifyHostKeyDNS
-P port
Specifies the port to connect
to on the remote host. Note that this option is written with
a capital ’P’, because -p is
already reserved for preserving the times and modes of the
file in rcp(1).
-p
Preserves
modification times, access times, and modes from the
original file.
-q
Quiet mode:
disables the progress meter as well as warning and
diagnostic messages from ssh(1).
-r
Recursively
copy entire directories. Note that scp follows
symbolic links encountered in the tree traversal.
-S
program
Name of program to use
for the encrypted connection. The program must understand
ssh(1) options.
-v
Verbose mode.
Causes scp and ssh(1) to print debugging messages
about their progress. This is helpful in debugging
connection, authentication, and configuration problems.
exit status
The scp utility exits 0 on success, and >0 if
an error occurs.
history
scp is based on the
rcp(1) program in BSD source code from the Regents of the
University of California.
see also
rcp , sftp , ssh ,
ssh-add , ssh-agent , ssh-keygen , ssh_config,
sshd
authors
Timo Rinne <tri[:at:]iki[:dot:]fi>
Tatu Ylonen <ylo[:at:]cs.hut[:dot:]fi>
BSD
July 18, 2013 BSD