сценарий sftp для получения файла от удаленной машины

Очевидно, я не рекомендовал бы удалить старую установку, пока Вы не уверены, но не должно быть слишком трудно получить очень похожую установку на более новой версии Linux

Вы можете разгрузить список установленных пакетов с dpkg - получать-выборы и установить их с dpkg - выборы набора, этот вопрос на переговорах по AU о возможных ловушках этого, но имеете команды также.

Любые пользовательские настройки должны быть в/home/username/, таким образом, можно создать нового пользователя с тем же именем и скопировать по файлам. Если Вы хотите это глобально, можно бросить его в/etc/skel нового livecd. Вы могли бы также хотеть скопировать по файлам конфигурации с/etc/и возможно вещей от/var/.

Это должно покрыть большинство вещей, я думаю, в котором Вы нуждались бы для основной установки. Здесь прибывает хитрый бит - я предложил бы remastersys ранее, но вид разработчика ragequit - существует предстоящее ветвление от другой группы разработчиков, которая могла бы представлять интерес. Я не использовал его прежде, но Вы могли бы также хотеть рассмотреть рассмотрение mklivecd.

3
09.09.2014, 22:13
4 ответа

Самый простой способ:

sshpass -p 'password123' scp -- $SSH_USER@phcsftp.pearsoned.com:/dir/file.txt /local/dir

sshpass должен работать и для sftp тоже ... Не забудьте проверить разрешения для скрипта с написанным паролем.

UPD: вам необходимо установить sshpass с помощью команды (для дистрибутива на основе debian):

apt-get install sshpass
3
27.01.2020, 21:10

SFTP - это, по сути, SSH + SFTP на стороне сервера, поэтому вам нужна какая-то неинтерактивная аутентификация, такая как закрытые и открытые ключи. В зависимости от используемой вами ОС вы можете сгенерировать ключ с помощью ssh-keygen и скопировать открытый ключ на сервер с помощью команды ssh-copy-id .

4
27.01.2020, 21:10

Другой способ автоматизировать этот процесс - использовать сценарий expect. Вот пример:

например:

  #!/usr/bin/expect -f

   spawn sftp ftpusername@phcsftp.pearsoned.com:/dir/file.txt
   expect "user@phcsftp.pearsoned.com's password :"
   send "mypassword123\r"
   send "exit\r"

Вы можете получить дополнительную информацию об ожидании от здесь или просто погуглить

2
27.01.2020, 21:10

Вы должны использовать аутентификацию на основе ключей, поэтому вам не нужен пароль в первую очередь.

Вот подробный, как это сделать: http://www.debian-administration.org/article/530/ssh_with_authentication_key_instead_of_password

1
27.01.2020, 21:10

Теги

Похожие вопросы