Recently while working on SSL on my Amazon EC 2 server I had to upload few certificates files from my local machine to EC 2 server. I had to spent some time to figure out this so thought of publishing blog on it so this may help others
First lets see how to upload file to remote server with permission on directory. We will use scp command for it. Following is the syntax.
$ scp /path/to/local/file sshuser@host:/path/to/remote/server
Once you run command it will prompt you for password. When you enter password it will upload file.
Now lets see what if you don't have password and have public or private key. Following is the command.
$ scp -i "yourkey" /path/to/local/file sshuser@host:/path/to/remote/server
If you have specified correct key it will upload your file.
Now here comes the real problem with EC 2. I was trying to upload crt file to system directory which was not allowed. So what you have to do is upload that file default ssh directory with following command
$ scp -i "yourkey" /path/to/local/file sshuser@host:filename
And then go to that directory. Usually in amazon EC 2. It's /home/ubntu directory. Then you can copy files from here using cp command with sudo.
I hope this helps you and dave your time.