安装SSH服务
在所有节点执行:
sudo apt update && sudo apt install openssh-server
sudo systemctl enable --now ssh # 启动并设置开机自启
配置免密登录
ssh-keygen -t rsa -b 4096 # 按回车生成默认密钥
ssh-copy-id user@node1 # 替换为实际节点IP/主机名
或通过脚本批量分发:for IP in node1 node2 node3; do
sshpass -p "密码" ssh -o StrictHostKeyChecking=no user@$IP "mkdir -p ~/.ssh && echo '$(cat ~/.ssh/id_rsa.pub)' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
done
网络配置
/etc/netplan/01-netcfg.yaml:network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
sudo ufw allow 22/tcp # 允许SSH通信
sudo ufw enable
Ansible自动化管理
sudo apt install ansible
/etc/ansible/hosts):[cluster]
node1 ansible_host=192.168.1.101
node2 ansible_host=192.168.1.102
ansible cluster -m ping # 测试连通性
ansible-playbook deploy.yml # 运行Playbook(需提前编写YAML文件)
其他工具(按需选择)
批量操作
echo "node1 node2" | xargs -I {} ssh user@{} "uptime" # 使用xargs
parallel ssh user@{} ::: node1 node2 # 使用parallel工具
rsync -avz /local/path/ user@node1:/remote/path/
监控与日志
ssh user@node1 "tail -f /var/log/syslog"
htop、nmon监控节点状态。安全维护
sudo apt update && sudo apt upgrade -y
/etc/ssh/sshd_config中设置#PermitRootLogin prohibit-password)。~/.ssh/authorized_keys权限是否为600,.ssh目录权限是否为700。ping和traceroute排查网络。参考来源: