1

Мне нужно выполнить автоматизацию SFTP (чтобы избавиться от запроса пароля). Как я могу это сделать?

4 ответа4

2

Вам необходимо настроить открытый / закрытый ключ. Как я могу автоматизировать передачу SFTP между двумя серверами?

1

Мое предложение использует SSH авторизованные ключи. Вам нужно будет создать ключ на стороне клиента (используя ssh-keygen), а затем скопировать открытый ключ на целевую сторону.

client-machine% ssh-keygen -t rsa
client-machine% scp ~/.ssh/id_rsa.pub user@target-machine:~/.ssh/authorized_keys2

Обратите внимание, что если вы хотите получить доступ к целевой машине с двух или более "клиентов", вы не можете напрямую скопировать id_rsa.pub в authorized_keys2. Вам нужно открыть author_keys2 и вставить id_rsa.pub с каждого клиентского компьютера на нем (или использовать строку ниже, чтобы добавить содержимое)

client-machine% cat ~/.ssh/id_rsa.pub | ssh user@target-machine \
                'cat >> .ssh/authorized_keys'

Теперь вы можете использовать ssh/scp без информации о пользователе и пароле:

client-machine% ssh user@target-machine
client-machine% scp file user@target-machine:~/file
1

Взгляните на пакет автоматизации VisualCron. Он имеет встроенную автоматизацию для SFTP и SSH, а также для обычного FTP. http://www.visualcron.com

0

Если безопасность не имеет значения, тогда пароль может быть открытым текстом в вашем скрипте. Например, в Microsoft Windows, используя pscp из пакета PuTTY .

Пример:

"d:\putty0.58\pscp"  -pw MyNotSoSecretPassWord  u:\outGoing\someFileToTransfer.7z  kingOfTheHill@www.pil.sdu.dk:/srv/www/htdocs/1/MSQuantDynamics/someFileToTransfer.7z

Пароль: MyNotSoSecretPassWord. Имя пользователя: kingOfTheHill. Ведущий: www.pil.sdu.dk.

Сервер sftp в нашем случае работает на сервере под управлением Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .