主机管理
介绍
管理维护平台可操作的主机,首次添加主机时需要输入 ssh 指定用户的密码。
原理说明
Spug 会在首次添加主机时尝试直接通过密钥连接目标主机,会出现以下3种可能:
- 如果目标主机不支持密钥认证,则直接抛出异常(错误代码
E01)并终止请求。 - 如果认证通过则直接完成主机添加。
- 如果认证失败,则弹出密码输入框,让用户输入密码然后设置密钥认证。
当第 3 种情况时用户输入密码,Spug 在接收到输入的密码后,会尝试通过密码连接目标主机并执行以下命令设置密钥认证
mkdir -p -m 700 ~/.ssh
echo 'public key content ....' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
完成以上操作后,会再次尝试使用密钥连接目标主机,会出现以下2中可能:
- 认证失败,则直接抛出异常(错误代码
E02)并终止请求。 - 认证通过,完整主机添加。
错误说明
E01表示目标主机不支持密钥认证,通常可以尝试查看目标主机的sshd配置文件/etc/ssh/sshd_config确保PubkeyAuthentication yes。E02在Spug尝试设置密钥认证后依然无法正常通过密钥连接主机,如果你的目标主机OpenSSH版本8.8以上版本,则需要在/etc/ssh/sshd_config末尾添加一行配置PubkeyAcceptedKeyTypes +ssh-rsa,然后重启sshd服务后再尝试。其他情况需要你自行查看具体原因(确保~/.ssh目录的权限 700 ,~/.ssh/目录下所有文件权限600),如果你可以手动操作实现密钥认证可自己尝试实现密钥认证,测试通过后再次添加主机即可。