26
5
I cant scp, the other server only takes sftp connections.
Currently, I am trying to do
sftp jay@server.name.com:/files> put -r ~/
-i keyname
does not work, just resolves with illegal option -- i
.
26
5
I cant scp, the other server only takes sftp connections.
Currently, I am trying to do
sftp jay@server.name.com:/files> put -r ~/
-i keyname
does not work, just resolves with illegal option -- i
.
36
Try:
sftp -o "IdentityFile=keyname" jay@server.name.com
You can use -o
to pass any option that's valid in ~/.ssh/config
.
4
Copy your PUBLIC key to the server using traditional means.
On server:
.ssh
if it doesn't exist:[[ ! -d "${HOME}/.ssh" ]] && mkdir -p "${HOME}/.ssh"
cat /path/to/public_key.pub >> "${HOME}/.ssh/authorized_keys"
chmod go-rwx "${HOME}" "${HOME}/.ssh/authorized_keys"
After that, you should be able to log in from the client using the PRIVATE key. To automate a transfer, you want to use a batch file, which is just a text file containing a list of commands to execute.
echo "put filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt sftp -b /tmp/batchfile.txt -oIdentityFile=/path/to/private_key user@host
Alternatively, feel free to create a ~/.ssh/config file in ssh_config format so you can just type this in the future:
sftp -b /tmp/batchfile.txt host
Sample contents of ~/.ssh/config
Host the_hostname User user_name IdentityFile /path/to/private_key
Ill try this on the next batch, the solution above did the trick though. – Jay – 2012-10-05T00:01:35.850
1
If you are looking to setup sftp on ec2, this article might help
1This "answer" has nothing to contribute to the question. Worse, it is just a link to a page that will someday disappear. – John Mayor – 2016-10-02T20:57:22.730
Sorry, it really didnt. – Jay – 2012-10-05T00:01:13.913
0
I got into this issue recently and what worked for me in my macbook default terminal setup is the following
sftp -i ./privateFilePath.key username@url.com
Note you might be promoted with UNPROTECTED PRIVATE KEY FILE! message in which case you need to run this command to make sure your private key is not accessible by others.
chmod 600 privateFilePath.key
In some cases you need to put sudo in front of the command, this is only if you are working in a admin protected directory
I wish thats helpful :)
Why do you expect this to be helpful when the question said that the -i
option is not working? – Scott – 2018-08-06T14:17:25.483
Nailed it. thanks! how do i keep it there normally? – Jay – 2012-10-05T00:00:24.493
I don't know what you mean by "keep it there normally". If you mean that you want the
– Celada – 2012-10-05T01:38:04.537IdentityFile
option to always automatically be given, check out UtahJarhead's answer about putting it in~/.ssh/config