# deploy_run.sh#!/bin/bash# 定义远程服务器的用户名和地址declare-aservers=("nvidia@10.10.6.100""nvidia@10.10.6.110"# "nvidia@10.10.6.120""nvidia@10.10.6.130""nvidia@10.10.6.140"# "nvidia@10.10.6.150""nvidia@10.10.6.160""nvidia@10.10.6.170""nvidia@10.10.6.180")# declare -a servers=(# "ubuntu@10.10.8.56"# )declare-apassword="nvidia"# declare -a password="wangzf" # 对应服务器的密码# 本地 ZIP 文件路径remote_file="sensor_roadside_info_router"# 循环遍历所有服务器forserverin"${servers[@]}"doecho"Processing ${server}..."# 连接到服务器,使用 tmux 创建新会话进行操作sshpass-p"${password}"ssh-t"${server}"bash-c"' cd ${remote_file} bash remote_run.sh '"echo"Completed processing ${server}"doneecho"All done."
远程关闭
# deploy_stop.sh#!/bin/bash# 定义远程服务器的用户名和地址declare-aservers=("nvidia@10.10.6.100""nvidia@10.10.6.110""nvidia@10.10.6.120""nvidia@10.10.6.130""nvidia@10.10.6.140""nvidia@10.10.6.150""nvidia@10.10.6.160""nvidia@10.10.6.170""nvidia@10.10.6.180")# declare -a servers=(# "ubuntu@10.10.8.56"# )declare-apassword="nvidia"# declare -a password="wangzf" # 对应服务器的密码# 本地 ZIP 文件路径remote_file="sensor_roadside_info_router"# 循环遍历所有服务器forserverin"${servers[@]}"doecho"Processing ${server}..."# 连接到服务器,使用 tmux 创建新会话进行操作sshpass-p"${password}"ssh-t"${server}"bash-c"' cd ${remote_file} bash remote_stop.sh '"echo"Completed processing ${server}"doneecho"All done."
一键添加密钥
# add_hosts.sh#!/bin/bash# 定义主机 IP 地址数组declare-ahosts=("10.10.6.100""10.10.6.110""10.10.6.120""10.10.6.130""10.10.6.140""10.10.6.150""10.10.6.160""10.10.6.170""10.10.6.180")# 循环遍历数组中的每个主机 IP 地址forhostin"${hosts[@]}"doecho"Adding SSH key for ${host} to known_hosts..."ssh-keyscan-H"${host}">>~/.ssh/known_hosts# 获取 SSH 公钥doneecho"All keys have been added."