modify dirs

This commit is contained in:
oscarz
2025-03-17 11:53:43 +08:00
parent e1c62f23d3
commit 03b12ba4d4
12 changed files with 172 additions and 0 deletions

42
tools/ssh_key_push.sh Normal file
View File

@ -0,0 +1,42 @@
#!/bin/bash
# 检查本地是否存在 id_rsa.pub
if [ ! -f ~/.ssh/id_rsa.pub ]; then
echo "本地未找到 id_rsa.pub开始生成新的 SSH 密钥对..."
ssh-keygen -t rsa -b 4096 -C "oscar@easyprompt8.com" -N "" -f ~/.ssh/id_rsa
if [ $? -eq 0 ]; then
echo "SSH 密钥对生成成功。"
else
echo "生成 SSH 密钥对时出错。"
exit 1
fi
fi
# 处理服务器列表
# bash push_ssh_key.sh user1@server1 user2@server2
if [ $# -gt 0 ]; then
servers=("$@")
else
echo "请提供包含服务器列表的文件路径:"
read file_path
if [ ! -f "$file_path" ]; then
echo "文件 $file_path 不存在。"
exit 1
fi
servers=()
while IFS= read -r line; do
servers+=("$line")
done < "$file_path"
fi
# 推送公钥到远程服务器
for server in "${servers[@]}"; do
public_key=$(cat ~/.ssh/id_rsa.pub)
ssh "$server" "mkdir -p ~/.ssh && echo '$public_key' >> ~/.ssh/authorized_keys"
if [ $? -eq 0 ]; then
echo "公钥已成功推送到 $server"
else
echo "推送公钥到 $server 时出错。"
fi
done