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 [-pqrvBC46] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-o ssh_option] [[user@]host1:]file1 [...]
[[user@]host2:]file2
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). Unlike rcp(1), scp will ask for passwords or passphrases if they are needed for authentication.
Any file name may contain a host and user specification to indicate that the file is to be copied to/from that host. Copies between two
remote hosts are permitted.
The options are as follows:
-c cipher
Selects the cipher to use for encrypting the data transfer. This option is directly passed to ssh(1).
-i identity_file
Selects the file from which the identity (private key) for RSA authentication is read. This option is directly passed to ssh(1).
-p Preserves modification times, access times, and modes from the original file.
-r Recursively copy entire directories.
-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.
-B Selects batch mode (prevents asking for passwords or passphrases).
-q Disables the progress meter.
-C Compression enable. Passes the -C flag to ssh(1) to enable compression.
-F ssh_config
Specifies an alternative per-user configuration file for ssh. This option is directly passed to ssh(1).
-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).
-S program
Name of program to use for the encrypted connection. The program must understand ssh(1) options.
-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 example, forcing the use of protocol version 1 is specified using scp -oProtocol=1.
-4 Forces scp to use IPv4 addresses only.
-6 Forces scp to use IPv6 addresses only.
DIAGNOSTICS
scp exits with 0 on success or >0 if an error occurred.
AUTHORS
Timo Rinne <tri@iki.fi> and Tatu Ylonen <ylo@cs.hut.fi>
HISTORY
scp is based on the rcp(1) program in BSD source code from the Regents of the University of California.
SEE ALSO
rcp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5), sshd(8)
BSD
September 25, 1999 BSD