主机管理
介绍
管理维护平台可操作的主机,首次添加主机时需要输入 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
- 如果你可以手动操作实现密钥认证可自己尝试实现密钥认证,测试通过后再次添加主机即可
- 以上都排查过还是不行的话,果断向我们来反馈吧
- 用户家目录如