Домашняя » как » Как сохранить пароли невидимыми при запуске команды в качестве аргумента SSH?

    Как сохранить пароли невидимыми при запуске команды в качестве аргумента 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)