Это, кажется, популярный вопрос на StackOverflow, но ничего, кажется, работает для меняВедение Sudo су с SSH на удаленный сервер не работает
Я объясню мои проблемы, а затем пойти на решения, я попытался
Что мне нужно сделать, это ssh
до serverB
от serverA
. для этого я настроить шифрование RSA на серверах и я могу успешно SSH к ServerB
Я использую
ssh [email protected]
Теперь я хочу выполнять определенные команды на serverB
. Первым из них является переход на пользователя app
. Для этого мне нужно запустить команду sudo su - app
, но я также хочу указать пароль в той же строке, чтобы он снова не запрашивал пароль.
Так что я пытался первым непосредственно запустить sudo su - app
команду serverB
с паролем, чтобы проверить его
Я попытался следующей
echo "password" | sudo su - app
sudo -S <<< "password" su - app
echo "password" | sudo -S su - app
echo 'passowrd' | sudo 'su -c - app'
Однако ни один из вышеупомянутых решений работает для меня.
Ближайший я мог бы получить был с
echo "password" | script -c "sudo su - app"
, где он принимает пароль и показывает мне
[email protected] [/app]
$
Однако, когда я запускаю команду whoami
он все еще показывает мне user
вместо app
. Однако, когда я непосредственно запустить sudo su - app
и обеспечить проход, а затем запустить whoami
это дает мне app
Я пытаюсь выполнить команду с SSH, как
ssh [email protected] -t 'echo "password" | script -c "sudo su - app"'
P.S. пользователь user
оленья кожа имеет root
доступ, а также я не могу использовать любой плагин, как у меня нет разрешения делать то же самое
Мой сервер является Redhat 6.2
Я надеюсь, что я мог бы объяснить это правильно. Ищете некоторые ответы, которые могут помочь.
Извините за мой плохой английский. Спасибо за помощь.
поэтому пользователь не находится в группе '' 'sudousers'''? –
@ МартинБее нет, это не –
, если у вас нет привилегий root, по моему мнению, вы не сможете запускать какую-либо команду, начинающуюся с '' 'sudo''', если можете, попробуйте войти в систему как' '' app''' в начале с помощью команды ssh. –