Как сохранить пароли невидимыми при запуске команды в качестве аргумента SSH?
Надежная защита наших паролей - это то, к чему мы все должны относиться серьезно, но что вы будете делать, если конкретная программа или приложение отображает ваш пароль на виду, когда вы его набираете? В сегодняшней статье SuperUser Q & A есть решение проблемы паролей разочарованного читателя.
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Вопрос
Читатель SuperUser user110971 хочет знать, как сохранить пароли невидимыми при запуске команды в качестве аргумента SSH:
Если я запускаю эту команду и начинаю вводить пароль MySQL, пароль виден на экране:
- ssh user @ server 'mysql -u user -p'
Как я могу предотвратить это? Если я вхожу через SSH и выполняю команду MySQL, то все работает нормально.
Как вы можете сохранить пароли невидимыми при запуске команды в качестве аргумента SSH?
Ответ
У автора SuperUser Тоби Спейта есть ответ для нас:
Если вы предоставляете удаленную команду для запуска, SSH не выделяет TTY, поэтому удаленная команда не может отключить эхо. Вы можете заставить SSH предоставить TTY с использованием -T опция:
- ssh -t user @ server 'mysql -u user -p'
Эквивалентный вариант (для -о или для файла конфигурации) RequestTTY. Я бы рекомендовал не использовать его в файле конфигурации, потому что это может иметь нежелательные последствия для неинтерактивных команд.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.
Изображение предоставлено: Linux Screenshots (Flickr)