05-16-2011
Technically, scp does create directories if you specify the -r option but that means you need to copy the entire directory and not just a single file:
-r Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.
Example using scp locally:
/home/blytsplyk: ls -lr dir1
total 4
drwxr-xr-x 2 blytsplyk users 4096 May 16 19:30 tmp
-rw-r--r-- 1 blytsplyk users 0 May 16 19:27 file1
/home/blytsplyk: ls -lr dir2
ls: cannot access dir2: No such file or directory
/home/blytsplyk: scp -r dir1/* dir2
dir2: No such file or directory
/home/blytsplyk: mkdir dir2
/home/blytsplyk: scp -r dir1/* dir2
/home/blytsplyk: ls -lr dir2
total 4
drwxr-xr-x 2 blytsplyk users 4096 May 16 19:31 tmp
-rw-r--r-- 1 blytsplyk users 0 May 16 19:31 file1
As for the original question, while your home directory may not have the same name on the remote system as it does on the local system, by default, if you do not specify a directory name, scp will use the home directory on the remote system when copying the file. Therefore, if you simply want to copy a file from your home directory on one system to your home directory on another system, you can just do this:
scp file user@server:
There is no need to specify the trailing ~/. In fact, if your account name is the same, there is no need to specify user@ either. And, finally, if you set up your ssh keys, there would be no need to enter your password. I don't personally use sftp since I don't have a need to automate transfers between Windows and Unix machines but I believe newer version of sftp take advantage of ssh so you would still need to set up ssh keys if you want to avoid manual password entry.
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi could someone tell me where to find a secure copy prog.
for unix and windows
thnx a lot
helios (4 Replies)
Discussion started by: helios
4 Replies
2. Shell Programming and Scripting
i have to transfer a file from one server to another. say, my script is running on server 'A' and one file has to be transferred from server 'A' to server 'B' using SCP. i am using it as:
sourceserverA> scp -P <port> userid@serverBhostname:/put/this/here <sourcefile path>
but it is giving... (1 Reply)
Discussion started by: dharmesht
1 Replies
3. UNIX for Dummies Questions & Answers
Will an scp command always copy the files in an encrypted mode?
After trying this, I have got message Host Key not found in the database. &
Unable to write host key in my user directory.
Please anyone has an idea, how we can have secure copy with certificates exchanged successfully? (0 Replies)
Discussion started by: videsh77
0 Replies
4. Solaris
I am using shell script to do secure ftp. I have done key file setup to do password less authentication. Following are the FTP Details:
FTP Client has Sun SSH.
FTP Server has F-Secure.
I am using SCP Command to do secure copy files. When I am doing this, I am getting the foll error
scp:... (2 Replies)
Discussion started by: ftpguy
2 Replies
5. UNIX for Dummies Questions & Answers
I have found a question from the exercises of my study mat. The question is
"Why are there a in-core copy and a disk-copy of i-node block and super block?"
If any one know the proper answer then please send me..... (1 Reply)
Discussion started by: dearanik
1 Replies
6. Shell Programming and Scripting
Hi,
I am in the process of converting ftp transfres to SCP in my scripts.
Have some doubts with SCP command
1) currently script puts a list of ftp commands in afile and paasses the file to ftp as input
echo "user abc pwd" >inputfile
echo "ls *" >> inputfile
echo "quit" >> inputfile... (5 Replies)
Discussion started by: justchill
5 Replies
7. UNIX for Advanced & Expert Users
Is there a way we can avoid asking of password when we transfer file from one Unix server to another server using SCP command.
Or
Is is possible that the batch file in unix in which I am giving the SCP command takes the password and transfer the files automatically without me typing the... (1 Reply)
Discussion started by: Pash
1 Replies
8. UNIX for Advanced & Expert Users
Using RCP command we can transfer file from one server to another server.
While transferring we can rename the file also e.g.
File name = FILE123.txt (lying on Source server = oldserver)
Target Server Name = newyour
Renamed File = FILE456.txt
rcp FILE123.txt newyour:./FILE456.txt... (1 Reply)
Discussion started by: Pash
1 Replies
9. Shell Programming and Scripting
Hi experts
cp bin root src /mnt
but not copy bin/bigfile
any help?
( I post this thread in the "redhat" forum wrongly, I don't know how to withdraw that question in that wrong forum)
Thanks (6 Replies)
Discussion started by: yanglei_fage
6 Replies
SCP(1) BSD General Commands Manual SCP(1)
NAME
scp -- secure copy (remote file copy program)
SYNOPSIS
scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target
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 secu-
rity as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication.
The source and target may be specified as a local pathname, a remote host with optional path in the form [user@]host:[path], or a URI in the
form scp://[user@]host[:port][/path]. Local file names can be made explicit using absolute or relative pathnames to avoid scp treating file
names containing ':' as host specifiers.
When copying between two remote hosts, if the URI format is used, a port may only be specified on the target if the -3 option is used.
The options are as follows:
-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
BindInterface
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChallengeResponseAuthentication
CheckHostIP
Ciphers
Compression
ConnectionAttempts
ConnectTimeout
ControlMaster
ControlPath
ControlPersist
GlobalKnownHostsFile
GSSAPIAuthentication
GSSAPIDelegateCredentials
HashKnownHosts
Host
HostbasedAuthentication
HostbasedKeyTypes
HostKeyAlgorithms
HostKeyAlias
HostName
IdentitiesOnly
IdentityAgent
IdentityFile
IPQoS
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
LogLevel
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
PasswordAuthentication
PKCS11Provider
Port
PreferredAuthentications
ProxyCommand
ProxyJump
PubkeyAcceptedKeyTypes
PubkeyAuthentication
RekeyLimit
SendEnv
ServerAliveInterval
ServerAliveCountMax
StrictHostKeyChecking
TCPKeepAlive
UpdateHostKeys
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.
-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.
SEE ALSO
sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sshd(8)
HISTORY
scp is based on the rcp program in BSD source code from the Regents of the University of California.
AUTHORS
Timo Rinne <tri@iki.fi>
Tatu Ylonen <ylo@cs.hut.fi>
BSD
February 23, 2018 BSD