Sign up ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

What is the best way of doing SCP from one box to the other without prompting for password?

There are two servers:

  • Server A ( /home/oracle/export/files.txt

  • Server B ( /home/oracle/import/

If I want to transfer the files using scp from server A to server B without being prompted to enter a password

[running this from Server A, /home/oracle/export/]

scp files.txt oracle@

This would prompt me for a password upon entering the command.

I understand that a keygen is required to be generated and copied to Server A. Thus [at server A]:

ssh-keygen -t rsa

This gives me two files stored in /home/oracle/.ssh:


1. Am I supposed to copy the two files (id_rsa, over into server B /home/oracle/.ssh ?

While doing some google search on this, some articles mentioned about appending/concatenating this to authorized_keys.

2. Am I supposed to create this file on my own?

I seem to be confused on what is the right way to do this.

Btw, the two servers are running Suse Linux Enterprise Edition 9...

share|improve this question

migrated from Jun 2 '11 at 0:53

This question came from our site for professional and enthusiast programmers.

This is purely an IT question. – Noah Goodrich Feb 27 '09 at 6:11
Try 'keychain': – Adam Bernier Feb 27 '09 at 6:18

3 Answers 3

  1. No, you keep id_rsa to yourself; however,, which is your public key, may be copied to servers to which you wish to have access. Concatenate them onto the end of ~/.ssh/authorized_keys.
  2. Yes, you may create ~/.ssh/authorized_keys if it is not already created; otherwise, just append to the end of the file, using cat >>~/.ssh/authorized_keys.
share|improve this answer

Also there is a tool that sorts all this for you called ssh-copy-id.

It will append the key in your agent if you have one running to the authorized_keys file and create it if it does not exist with the right permissions. If you aren't running an agent you can specify the key to push with -i: ssh-copy-id -i ~/.ssh/id_rsa

share|improve this answer

You should also check the permissions on the various files and directories:

authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744

Your home directory must not be writable by anyone other than you.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.