Я хочу скопировать файлы с локальной машины на удаленный сервер с помощью команды SCP. Я смог скопировать файлы через Cygwin. Теперь я хочу достичь этого через Qt. Как вызвать команду «SCP»? Если я использую QProcess, то как мне узнать о приглашении пароля?Как вызвать команду SCP из Qt
1
A
ответ
0
Как Фара, как я знаю, вы попали в такую же проблему с Scp предлагающее пароля в зависимости от того, как вы пытаетесь вызвать команду (даже если вы пытаетесь писать Баш скрипт, который вызывает УПП, для экземпляр) Возможное решение Я осознаю включает в себя:
- создать открытый/закрытый ключ и распределить их так, что вам не нужно будет предложено с паролем. Интересная статья на эту тему является here
- создать
expect
сценарий и вызвать его с QProcess
0
Требовать пользователей, чтобы использовать открытые ключи и ваша проблема решена: https://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html
УПП, SSH, SFTP, и т. д. намеренно затрудняют использование пароля, кроме как непосредственно от пользователя. В частности, такие вещи, как expect
, не будут работать. И если бы они это сделали, они не были бы в безопасности.
Смежные вопросы
- 1. Как использовать команду scp в следующем сценарии?
- 2. Как использовать команду scp в paramiko
- 3. Как вызвать команду linux из файла rspec
- 4. Как вызвать команду Cygwin из R
- 5. Завершить команду scp пароля на linux
- 6. Как вызвать команду Судо Руби
- 7. Хотите вызвать команду linux shell из Java
- 8. Vim: Вызвать команду ex (set) из функции?
- 9. Вызвать команду «grunt serve» из java-проекта
- 10. Как добавить переменную в команду SCP в сценарии оболочки?
- 11. Вызвать команду оболочки Windows из pl/pgsql
- 12. Использовать команду Redefined из PExpect
- 13. Захват вывода scp из python
- 14. Как вызвать консольную команду artisan с взаимодействием
- 15. Как проверить успешность SCP?
- 16. Как установить команду пользователя в Qt Fakevim?
- 17. как разрешить qt msvc2013 сделать команду runnable
- 18. как вызвать команду Unix в Perl
- 19. Как я могу вызвать команду действий искусственно?
- 20. Как я могу вызвать команду оболочки из функции pl/pgsql?
- 21. Как вызвать команду ps -u Linux/Unix из программы C
- 22. WPF Как вызвать команду управления пользователем из окна Лента
- 23. Как вызвать форматированную команду linux shell из Java?
- 24. Как вызвать команду из контроллера и использовать режим отладки?
- 25. Как я могу вызвать команду php/wordpress из JavaScript?
- 26. как вызвать команду cmd из библиотеки WCF C#
- 27. Как я могу вызвать команду WPF из кнопки Winform?
- 28. Как вызвать команду linux "source FILE_NAME" из Java?
- 29. Вызвать команду оболочки в python
- 30. Вызвать команду в командной функции
Не работает ли это, если вы 'write()' пароль (как 'QByteArray') для стандартного ввода' QProcess'? – dschulz
Просто попробовал вызывать команду 'pg_dump' (утилиту резервного копирования PostgreSQL) с помощью' QProcess', а затем записывал пароль на свой стандартный ввод в виде 'QByteArray'. Чтобы знать, когда нужно писать(), я отслеживаю стандартную ошибку процесса (readyReadStandardError() SIGNAL). Если строка 'startsWith()' '" Password: "', то я 'write()' пароль. Он работает отлично. – dschulz
сейчас попробуем с 'scp'. – dschulz