Linux Commands Examples

A great documentation place for Linux commands

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

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

0
source
            
scp $SCPOPTS $ARCHIVE $SCPTO
0
source
            
scp *rb newt:twitter/tgraph
0
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:
0
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.

0
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.)

0
source

Windows equivalent of SSH

PuTTY for shell access.

enter image description here

WinSCP (UI, no cmd) for file transfers.

enter image description here

0
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 -"
0
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.

0
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:
0
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.

0
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
0
source

SSH from Windows to Linux without entering a password

You need Pageant.

See the video Password-less login with PuTTY and Pageant. And/or the blog post Howto: Passwordless SSH authentication with PuTTY.

0
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

How can this site be more helpful to YOU ?


give  feedback