主机管理

介绍

管理维护平台可操作的主机,首次添加主机时需要输入 ssh 指定用户的密码。

原理说明

Spug 会在首次添加主机时尝试直接通过密钥连接目标主机,会出现以下3种可能:

  1. 如果目标主机不支持密钥认证,则直接抛出异常(错误代码 E01)并终止请求。
  2. 如果认证通过则直接完成主机添加。
  3. 如果认证失败,则弹出密码输入框,让用户输入密码然后设置密钥认证。

当第 3 种情况时用户输入密码,Spug 在接收到输入的密码后,会尝试通过密码连接目标主机并执行以下命令设置密钥认证

  1. mkdir -p -m 700 ~/.ssh
  2. echo 'public key content ....' >> ~/.ssh/authorized_keys
  3. chmod 600 ~/.ssh/authorized_keys

完成以上操作后,会再次尝试使用密钥连接目标主机,会出现以下2中可能:

  1. 认证失败,则直接抛出异常(错误代码 E02)并终止请求。
  2. 认证通过,完整主机添加。

错误说明

  • E01 表示目标主机不支持密钥认证,通常可以尝试查看目标主机的 sshd 配置文件 /etc/ssh/sshd_config 确保 PubkeyAuthentication yes
  • E02Spug 尝试设置密钥认证后依然无法正常通过密钥连接主机,如果你的目标主机 OpenSSH 版本 8.8 以上版本,则需要在 /etc/ssh/sshd_config 末尾添加一行配置 PubkeyAcceptedKeyTypes +ssh-rsa,然后重启 sshd 服务后再尝试。其他情况需要你自行查看具体原因(确保~/.ssh目录的权限 700 , ~/.ssh/ 目录下所有文件权限600),如果你可以手动操作实现密钥认证可自己尝试实现密钥认证,测试通过后再次添加主机即可。