Для того, чтобы прочитать значение, используется команда
, которая не выводит строк, если RTS выключена, или что-то вроде
если она включена.[1133067].
Вместо того, чтобы пытаться надежно скрыть свой пароль и пароль root от терминала, почему бы не использовать пару ключей ssh? Если вы запустите команду ssh-keygen
, вы можете сгенерировать ключ crypto.pub, который, если вы поместите в файл /root/.ssh/authorized_keys
каждого удаленного хоста, вы сможете просто выполнить вашу команду в таком виде: ssh root@1.1.1.1 "rm -rf tmp"
. Таким образом, Вам больше никогда не придется явно вводить свой пароль. Команда, если Вы хотите, также может быть добавлена в кронтаб и установлена по обычному расписанию, чтобы Вы могли проводить время, занимаясь другими делами. Все это в предположении, что машина, на которой вы генерируете ключ, только у вас есть доступ к учетной записи пользователя на машине, с которой вы генерируете ключ, не является общей учетной записью между пользователем sudo и пользователем, не являющимся пользователем sudo.
Если это поможет, но вам понадобится лучшее объяснение, дайте мне знать, и я постараюсь добавить больше информации в свой ответ.
Это может помочь, если вы никогда раньше не генерировали пару ключей: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Можно проверить, является ли stdin
терминалом, прежде чем использовать stty
:
if [[ -t 0 ]]; then stty -echo; fi