Использование scp с паролями

Использование scp с паролями

Могу ли я ввести пароль в качестве параметра SCP, а не получать запрос на его ввод?

Как сохранить пароль при копировании файла с помощью SCP? Этот вопрос похож, но ответы касаются полного отказа от пароля SSH.

решение1

Есть несколько вариантов:

  1. используя sshpass

Выполните команду:

sshpass -p 'password' scp filename user@host:
  • Установить sshpass:

    • Убунту:

    sudo apt install sshpass

sshpass человек

sshpass - неинтерактивный поставщик паролей ssh

sshpass — это утилита, предназначенная для запуска SSH с использованием режима, называемого «интерактивной клавиатурной» аутентификацией по паролю, но в неинтерактивном режиме.

ssh использует прямой доступ к TTY, чтобы убедиться, что пароль действительно выдан пользователем интерактивной клавиатуры. Sshpass запускает ssh в выделенном tty, обманывая его, думая, что он получает пароль от интерактивного пользователя.

Команда для запуска указывается после собственных опций sshpass. Обычно это будет "ssh" с аргументами, но это может быть и любая другая команда. Однако запрос пароля, используемый ssh, в настоящее время жестко закодирован в sshpass.

  1. С использованиеможидать(или другой сценарий)

написать скрипт, который будет вводить пароль, как только он определит запрос пароля SSH

  1. Использование ssh с парой ключей (вместо использования пароля)

ИМХО - это самый безопасный способ, и он не требует использования паролей.

Использование открытого/закрытого ключа для выполнения sshоперации scpбез ввода пароля.

  • Более подробную информацию можно найти вэтот ответ

  • Подробную информацию можно найтиздесь

решение2

Ответ на вопрос, как это сделать, уже есть, поэтому я сосредоточусь на том, почему этого не нужно делать.

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

Вместо этого используйте открытый/закрытый ключ и используйте ключевой агент для временного запоминания вашего ключа.

Связанный контент