Запускать команды от имени другого пользователя на своей машине через ssh?
В рамках моего обычного рабочего процесса я подключаюсь к компьютеру другого пользователя, переключаю на него пользователя, запускаю команду и снова выхожу на свой компьютер:
ssh hostname
sudo su user
runcommand
exit
exit
Есть ли способ сократить это до однострочной команды? например
ssh --someflags "runcommand"
Я пробовал это, но меня попросили ввести пароль другого пользователя, которого у меня нет:
sudo ssh user@hostnme "runcommand"
2 ответа
Решение
У вас есть пользователь на всех удаленных компьютерах? Я думаю, это должно сработать, но я не уверен, что правильно понимаю ваши настройки.
ssh youruser @ hostname "sudo -u удаленная команда запуска"
Часто бывает так, что требуется терминал. В этом случае должно работать следующее:
commands='cd myfolder;ls -l'
ssh -ttt "youruser@remotehost" "sudo -u remoteuser sh -c ${commands}"