第一步(主控端,仅操作1次)
无论主控是 Windows 还是 Linux / Ubuntu,命令完全相同
1. Windows 打开:PowerShell
2. Linux / Ubuntu 打开:系统终端
执行相同命令:
bash
ssh-keygen -t ed25519
全程直接回车,不设置密钥密码。
查看并复制公钥备用:
bash
cat ~/.ssh/id_ed25519.pub
第二步(所有Ubuntu被控机,通用统一操作)
先用密码手动SSH登录被控机,依次执行:
bash
mkdir -p ~/.ssh
bash
echo "粘贴主控完整公钥" >> ~/.ssh/authorized_keys
bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
bash
echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/nopass
sudo chmod 440 /etc/sudoers.d/nopass
编辑SSH配置:
bash
sudo nano /etc/ssh/sshd_config
保留双登录都开启:
plaintext
PubkeyAuthentication yes
PasswordAuthentication yes
保存退出,重启服务:
bash
sudo systemctl restart ssh