Как скопировать файлы определенного типа с удаленного сервера на локальный с идентификатором и паролем?

Я - зеленщик в Bash, поэтому, пожалуйста, будьте терпеливы со мной. Спасибо.

Я пишу сценарий Bash. Есть три аргумента: сервер, логин и пароль. Я хочу скопировать все файлы в домашнем каталоге идентификатора на сервере с расширением.c, а также исполняемый файл шифрования: encryptor в мой текущий каталог.

Я пытался использовать scp и ожидаем, но у меня есть другой код, который должен работать под #!/ Bin/bash, так что использование ожидаемого не будет работать. Пожалуйста, предложите, как я мог реализовать это. Большое спасибо!!

Отличие от scp или sftp - копировать несколько файлов одной командой:

  1. Идентификатор и пароль являются аргументом командной строки при запуске скрипта, поэтому мне не нужно вводить пароль после запуска скрипта. Например, он работает как "./example.sh идентификатор сервера пароль".
  2. Я не знаю структуру домашнего каталога на удаленном сервере. Есть ли способ выбрать определенный файл и скопировать его в локальный, используя команду в одном скрипте bash? будет работать grep? Как совместить это с scp?

1 ответ

Возможно, вам придется использовать аутентификацию с открытым ключом с помощью ssh, чтобы выполнить это без ожидания. Сгенерируйте пару ключей RSA и поместите ее в файл author_keys на удаленном хосте.

Вот шаги:

https://sureshvv.wordpress.com/2009/04/07/how-to-setup-ssh-so-that-manual-password-entry-is-not-needed/

Вот полный фон:

https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server

Другие вопросы по тегам