Я пишу сценарий, чтобы сделать sftp
для Windows (сервер) с Linux-машины. Я хотел, чтобы скрипт запускался без ручного ввода, например ввода пароля и т.д.
#!/bin/sh
HOST='10.x.x.x'
USER='user'
PASSWD='passwd'
sftp $USER@$HOST
Я использую freeftpd в качестве SFTP-сервера на компьютере с Windows. С конца Linux на данный момент я использую Ubuntu, но мое реальное требование будет для урезанной версии Linux для машины на базе ARM.
На Linux-машине я генерирую открытый и закрытый ключи, используя ssh-keygen -t rsa
. Два файла (открытый и закрытый) генерируются в /home/user/.ssh
, т.е. id_rsa
и id_rsa.pub
.
Если это еще одна машина Linux, я знаю, что мне нужно добавить открытый ключ (id_rsa.pub
) в файл authorized_keys
.
Сейчас я не уверен, так как мой SFTP-сервер работает на Windows. После установки freeFTPd я зарегистрировался в C:\Program Files\freeFTPd\
, но я не вижу никаких файлов, похожих на .ssh/authorized_keys
как в Linux.
FreeFTPd имеет возможность генерировать закрытый ключ. Поэтому я сгенерировал один и скопировал его в файл машины Linux (.ssh/id_rsa
) и попробовал. Но он все равно запрашивает пароль.
Как я могу решить это.