Как настроить SFTP сервер-сервер для использования аутентификации с открытым ключом вместо учетной записи пользователя и пароля?
В клиенте вам необходимо сгенерировать его открытый ключ и добавить его в список авторизованных ключей сервера.
Ниже приведены команды, которые вы можете использовать.
На клиентском компьютере
ssh-keygen -t dsa -f id_dsa mv id_dsa* ~/.ssh/ scp ~/.ssh/id_dsa.pub USER_NAME@SERVER:~/.ssh/HOST_NAME.key
На сервере
cat ~/.ssh/HOST_NAME.key >> ~/.ssh/authorized_keys2
Это решение для пользователей Windows
У меня была похожая проблема в Windows, поэтому я использовал Putty из http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Если вам нужно сгенерировать открытый ключ, используйте: http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
Затем, когда вы хотите автоматизировать пакет для загрузки с FTP-сервера Pageant, чтобы загрузить закрытый ключ в сеанс http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe
Затем используйте PSFTP для подключения и выполнения действий. http://the.earth.li/~sgtatham/putty/latest/x86/psftp.exe
Итак, вот пример кода для партии:
!--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
Файл списка команд (sftp_cmd.txt) будет выглядеть следующим образом:
mget "*.*" !--downloading every thing !--more commands can follow here close
Теперь все, что вам нужно, чтобы запланировать это в запланированных задачах * Хотелось бы, чтобы это было просто как работа cron в Unix ...
Не забудьте
chmod 700 .ssh
, а также
chmod 600 authorized_keys