@kovalr

Как в Linux Mint в bash скрипте выполнить команду от имени root по ssh?

У меня около 40 машин на Linux Mint. Нужно на всех поменять конфиг для ssh

Пример скрипта
#!/bin/bash
su user1 << BASH
sudo su root << BASH

cd /etc/ssh/sshd_config 
wget https://localhost/file -O sshd_config

exit 0

Запускаю
ssh user1@192.168.1.1 'bash -s' < run.sh

В ответ
su: must be run from a terminal

root отключен по ssh.
Войти под root'ом в терминале можно либо с sudo -i либо с sudo su root.

user1 в группе sudo

Как быть?
  • Вопрос задан
  • 960 просмотров
Пригласить эксперта
Ответы на вопрос 2
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Массовое обновление конфигов обычно делается средствами удаленного развертывания - Chef, Puppet. Делать это через ssh, да еще при логине рутом... Если прям нужно именно так, то я бы сделал немного по-другому - создал на каждом серваке юзера, обычного юзера, настроил аутентификацию по ключу, дал ему через sudo права на выполнение некоего скрипта... Механика выходит довольно сложная, Puppet наверное проще будет настроить :)
Ответ написан
Комментировать
В целом, я не знаю.
Но так, вдруг поможет мысль - я бы решал задачу с обновлением конфигов инструментами вроде Puppet и Ansible.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы