Мені потрібно виконати автоматизацію SFTP (щоб позбутися пароля). Як це зробити?
Мені потрібно виконати автоматизацію SFTP (щоб позбутися пароля). Як це зробити?
Відповіді:
Потрібно налаштувати відкритий / приватний ключ. Як можна автоматизувати передачу SFTP між двома серверами?
Моя пропозиція використовує SSH authorized_keys. Вам потрібно буде створити ключ на стороні клієнта (за допомогою ssh-keygen), а потім скопіювати відкритий ключ до цільової сторони.
client-machine% ssh-keygen -t rsa
client-machine% scp ~/.ssh/id_rsa.pub user@target-machine:~/.ssh/authorized_keys2
Зауважимо, що якщо ви хочете отримати доступ до цільової машини з двох або більше "клієнтів", ви не зможете скопіювати id_rsa.pub безпосередньо в лише дозволені_кери2. Вам потрібно буде відкрити утиліту autor_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
Погляньте на пакет автоматизації VisualCron. Вона має вбудовану автоматизацію для SFTP і SSH, а також звичайний FTP. http://www.visualcron.com
Якщо безпека не викликає занепокоєння, пароль може бути очистити текст у сценарії. Напр. з використанням 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.