Если клиентская машина также работает с bash, и установлен OpenSshClient: вы можете просто запустить ssh [email protected] yourCommandToRunWithoutPty
. Это выполняется командой БЕЗ pty/tty, что важно в некоторых случаях, например sudo
(sudo
ожидает, что tty запросит пароль).
Из-за этого я бы предложил добавить без доступа к этой команде этого пользователя в /etc/sudoers
вашего сервера, если (надежно!) Возможно.
Если вы правильно настроили, ваш клиент должен иметь возможность запускать только ssh [email protected] sudo iptables --some-iptables-switches
.
ПРИМЕЧАНИЯ При добавлении команды беспарольной к вашим /etc/sudoers
, помните, чтобы всегда быть явно, как это возможно с аргументами, так что никто не может злоупотреблять аргументы unintented должны работать без пароля SUDO.
Хорошо, если бы я хотел войти в систему как пользователь root, например, как бы он запрашивал пароль? Я хочу, чтобы ssh заходил на удаленный компьютер как root, и имел пароль в самом скрипте для машины. –
Я не поэтому я уверен, что я хочу сделать это, войти в систему и выполнить команды iptables. Не нужен ли мне для этого root? Как я могу запросить у пользователя пароль root? Как мне войти в систему как пользователь root и сохранить проход в скрипте? Это не будет представлять проблемы безопасности для меня, потому что у меня есть уникальное использование для этого, и только я буду использовать его. –