自动远程连接服务器,执行运维命令脚本
两个服务,服务a,服务b
- a服务生成密钥,上传到远程服务
ssh-keygen -t rsa -b 4096
ssh-copy-id root@47.107.226.36
- a服务编写shell脚本内容如下
#!/bin/bash
# 设置远程服务器的 IP 地址和用户名
REMOTE_IP="47.107.226.36"
REMOTE_USERNAME="root"
# 连接到远程服务器
ssh -o StrictHostKeyChecking=no "$REMOTE_USERNAME@$REMOTE_IP" << 'EOF'
# 确保 /root/yjb 目录存在
mkdir -p /opt/project/JUYUAN-AI-WEB-HTPPS/api/yjb
# 在 /root/yjb 目录下创建一个文本文件
output_file="/opt/project/JUYUAN-AI-WEB-HTPPS/api/yjb/output.txt"
# 写入内容到文件
echo "This is a test file created by the script aaa bbb ccc ddd." > "$output_file"
# 输出文件内容
if [ -f "$output_file" ]; then
cat "$output_file"
echo "File created successfully at $output_file"
else
echo "Error: Failed to create file $output_file"
exit 1
fi
EOF
# 检查 SSH 命令是否成功
if [ $? -eq 0 ]; then
echo "Script executed successfully on $REMOTE_IP"
else
echo "Error: Failed to connect or execute commands on $REMOTE_IP"
exit 1
fi
- 授予脚本执行权限
chmod 7777 a.sh
- 执行