主机管理
介绍
管理维护平台可操作的主机,首次添加主机时需要输入 ssh 指定用户的密码。
原理说明
Spug 会在首次添加主机时尝试直接通过密钥连接目标主机,会出现以下3种可能:
- 如果目标主机不支持密钥认证,则直接抛出异常(错误代码 E01)并终止请求。
- 如果密钥认证通过则直接完成主机添加,结束流程。
- 如果密钥认证失败,则弹出密码输入框,让用户输入密码然后设置密钥认证(如果目标主机不支持密码认证,则直接抛出异常(错误代码 E00)并终止请求)。
当第 3 种情况时用户输入密码,Spug 在接收到输入的密码后,会尝试通过密码连接目标主机并执行以下命令设置密钥认证
mkdir -p -m 700 ~/.ssh
echo 'public key content ....' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
完成以上操作后,会再次尝试使用密钥连接目标主机,会出现以下2中可能:
- 认证失败,则直接抛出异常(错误代码 E02)并终止请求。
- 认证通过,完整主机添加。
错误说明
- E00表示目标主机不支持密码认证,通常可以尝试查看目标主机的- sshd配置文件- /etc/ssh/sshd_config确保- PasswordAuthentication yes。
- E01表示目标主机不支持密钥认证,通常可以尝试查看目标主机的- sshd配置文件- /etc/ssh/sshd_config确保- PubkeyAuthentication yes。
- E02在- Spug尝试设置密钥认证后依然无法正常通过密钥连接主机,可尝试做以下检查。- 用户家目录如 /root目录的权限为 700
- ~/.ssh目录权限为 700,目录内文件权限 600
- 上述文件的属主与属组是当前用户
- 查看SSH系统日志,例如 Centos 位于 /var/log/secure
- 如果你可以手动操作实现密钥认证可自己尝试实现密钥认证,测试通过后再次添加主机即可
- 以上都排查过还是不行的话,果断向我们来反馈吧
 
- 用户家目录如