Setup SFTP to use public-key authentication

☆樱花仙子☆ 提交于 2019-12-05 17:23:47

问题


How do you setup server to server SFTP to use public-key authentication instead of user account and password?


回答1:


In the client you need to generate its public key and add it to server's authorized key list.

The following are the commands you can use.

On client machine

ssh-keygen -t dsa -f id_dsa
mv id_dsa* ~/.ssh/
scp ~/.ssh/id_dsa.pub USER_NAME@SERVER:~/.ssh/HOST_NAME.key

On the server

cat ~/.ssh/HOST_NAME.key >> ~/.ssh/authorized_keys2



回答2:


Remember to

chmod 700 .ssh

and also

chmod 600 authorized_keys



回答3:


This is a solution for windows users

I had a similar issue on windows so I used Putty from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

If you need to generate a public key then use: http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

Then, when you want to automate a batch to download from the FTP server the Pageant in order to load the private key into session http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe

Then use the PSFTP to connect and perform actions http://the.earth.li/~sgtatham/putty/latest/x86/psftp.exe

So here is sample code for the batch:

!--Loading the key to session--!
@C:\pageant.exe "C:\privatekey.ppk"
!--Calling the PSFTP.exe with the uaser and sftp address + command list file--!
@C:\psftp user@your.server.address -b C:\sftp_cmd.txt

Command list file (sftp_cmd.txt) will like like this:

mget "*.*" !--downloading every thing
!--more commands can follow here
close

Now, all you need to to schedule it in scheduled tasks *I wish it was simple as unix's cron job....



来源:https://stackoverflow.com/questions/2231514/setup-sftp-to-use-public-key-authentication

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!