сценарий оболочки для установки программного обеспечения с локального компьютера на удаленный компьютер

Я новичок в сценарии оболочки, я должен установить программное обеспечение с локальной машины на удаленную машину. 1. Сценарий должен быть подключен к удаленному компьютеру, если он подключен, создайте новую папку, затем установите программное обеспечение, которое находится на локальном компьютере, если машина не подключена, отображается сообщение об ошибке (хосты не подключены). 2. Если номер порта 22 не включен, его следует обойти или использовать номер порта 8080 для подключения и установки программного обеспечения. Пожалуйста, помогите написать сценарий и выполнить его.

0
задан 25 June 2019 в 09:53

1 ответ

Я думаю, что этот вопрос был дан в другом посте, сначала прочтите этот пост, и если вы не получили ответ или если у вас есть конкретный вопрос, не стесняйтесь изменить свой вопрос.

https://unix.stackexchange.com/questions/92664/how-to-deploy-programs-on-multiple-machines

Я вставляю ответ в вашу пользу. Спасибо Тердон За этот ответ.

Вы можете достаточно легко установить без пароля доступ к каждой из машин, используя этот подход:

установите sshpass на локальном компьютере

sudo apt-get install sshpass Это позволит вам передать пароль в качестве аргумента командной строки:

sshpass -p '<password>' ssh user@server Создать ключ ssh

ssh-keygen -t rsa Вы можете упростить задачу, допустив пустую фразу-пароль (остальная часть этого ответа будет предполагать, что вы это сделали , дайте мне знать, если ваши проблемы безопасности запрещают это, и я внесу соответствующие изменения).

Создайте файл со всеми интересующими вас IP-адресами и соответствующими им именами пользователей и паролями, по одному на строку:

1.2.3.4 bob bobs_password
11.22.33.44 hary harrys_password 

Теперь используйте sshpass для копирования файлов ключей и - пока вы Вы использовали пустую фразу-пароль - разрешить доступ без пароля ко всем машинам:

while read ip user pass; do 
  sshpass -p "$pass" ssh ssh-copy-id -i ~/.ssh/id_rsa.pub $user@$ip;
done < ips.txt

Теперь, когда у вас настроен доступ без пароля, установите программное обеспечение на каждую машину (предполагается, что $ user может запустить apt-get в основном, $ user является root):

 while read ip user pass; do 
   ssh $user@$ip "apt-get install package; 
 done < ips.txt
0
ответ дан 25 June 2019 в 09:53

Другие вопросы по тегам:

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