передающие пароли к сценарию

Проверьте, очищает ли что-то выполнение Ваш PS1 огибающая переменная.
Как пример на другой машине, не затронутой той проблемой, если Вы работаете

PS1=""

в оболочке удара Вы получите тот же вывод своих снимков экрана.

3
05.02.2012, 22:29
4 ответа

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

Нет, это неправильно. Файл секретных ключей обеспечивает больше безопасности, чем пароль. Используйте файл секретных ключей. Файл секретных ключей шифруется с паролем; если кто-то получает файл ключей, им все еще нужен Ваш пароль. Если бы Вы использовали аутентификацию по паролю, то любой овладевающий паролем был бы дома свободный.

Выполненный ssh-agent на время Вашей сессии. Прежде чем Вы будете использовать конкретный ключ, будете вводить пароль с ssh-add (или посредством некоторой подсказки GUI). Затем не будет подсказки при соединении использования этого ключа.

4
27.01.2020, 21:11
  • 1
    Уверенный. Но если кто-то получает Ваш файл секретных ключей, он может не торопиться для выполнения различного программного обеспечения на этом для повреждения его. Но получение Вашего пароля не похоже на это и обычно более трудно взломать. Таким образом, я не уверен, насколько безопасный ssh-агент. Если бы кто-то повреждает Ваш ключ, он должен был бы использовать Вашу собственную машину также для соединения с удаленным хостом или может соединиться от какой-либо станции? –  eli 06.02.2012, 04:43
  • 2
    @eli, Взламывающий защищенный паролем файл ключей, не должен быть немного легче, чем взламывание пароля учетной записи эквивалентной силы. Хороший случайный ключ намного более трудно предположить, чем типичный пароль. Одна причина я видел осуществление только для пароля, состоит в том, потому что более просто в материально-техническом отношении для администраторов сайта осуществить по всему сайту политики надежности пароля, чем это должно осуществить политики пароля с закрытым ключом. –  jw013 06.02.2012, 06:58

Существует ли способ скопировать, ssh, и выполнить команду на удаленной машине с одним паролем?

Существует два пути, варьирующиеся по их удобству и компромиссам.

Нужно передать встроенный файл. Вы должны ввести кроме содержания файла? В противном случае ssh example.com 'cat > the_file ; process the_file' < the_file сделает то, что Вы хотите.

Другой должен сделать что-то, что это снова использует соединение SSH. ControlMaster и друзья для ssh могли бы помочь - посмотрите ssh_config(1) для получения дополнительной информации или существуют различные обертки или реализации SSH для различных языков программирования та справка.

Также, как записать сценарии, которые должны взаимодействовать с пользователем для ввода паролей?

Считайте его из TTY. Обычно лучшая стратегия состоит в том, чтобы позволить ssh взаимодействовать непосредственно с пользователем и не мешать, потому что этому протестировали намного лучшее и проверило реализацию взаимодействия таким образом.

Я не хочу использовать чтение, поскольку это не безопасно.

Для взаимодействия с пользователем я предполагаю. Это существенно не отличается в безопасности от просто разрешения SSH спросить, на самом деле, но это идеально, чтобы просто остаться вне пути.

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

... и я предполагаю, что агент SSH не приемлем ни один приблизительно по той же причине.

2
27.01.2020, 21:11
  • 1
    Решения для кошки работают хорошо; я распечатал файл этот путь вчера. По-видимому, это работает на многие типы файлов также. Я не знал о MasterControl, я должен проверить его. Большое спасибо за указание на него. –  eli 06.02.2012, 04:31

Используя 'ожидают', какой Вы просите, возможно, и некоторые люди все еще используют его. Ожидать сценарий может 'поймать' вывод команд, и можно 'ответить' на основе их вывода. Ваш сценарий будет похож:

spawn scp some_file user@host:/destination
expect "*?assword:*"
send -- "Your Super Secret Password Here\r"
send -- "\r"

Конечно, это работало бы, но это повысится другая проблема. Ваш пароль будет сохранен в форме простого текста, и любой читающий этот файл смог бы видеть Ваш пароль.

Мое личное мнение - то, что самым безопасным неинтерактивным путем является аутентификация с закрытым ключом.

2
27.01.2020, 21:11

Вы могли использовать ssh ключи, но присваивают их пользовательскому пользователю в удаленной системе, оболочка которой установлена не на фактическую оболочку, но команду, которую Вы хотите выполнить. Эффект будет после входа в систему, что команда выполняется, и затем терминал закроется. Таким образом, если затем пароль поставлен под угрозу, они не могут в интерактивном режиме ввести команды, но только выполнить один набор команд как оболочку.

0
27.01.2020, 21:11

Теги

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