我编写了一个工作流程文件,让运行程序准备使用 ssh 连接到所需的服务器,以便我可以运行 ansible playbook。
ssh -t -v theUser@theHost显示 SSH 连接有效。
然而,ansible 脚本告诉我,sudo 密码丢失了。
如果我忽略该行ssh -t -v theUser@theHost,ansible 会抛出连接超时并且无法连接到服务器。
=> fatal: [***]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host *** port 22: Connection timed out
首先我不明白,为什么ansible只有执行命令才能连接到服务器 ssh -t -v theUser@theHost。
下一个问题是,用户不需要任何 sudo 密码即可拥有执行权限。同样的 ansible playbook 在我的本地机器上运行得很好,无需使用 sudo 密码。我配置了服务器,以便用户递归地在所需文件夹中拥有足够的权限。
它根本无法通过我的 GitHub Action 工作。你能告诉我我做错了什么吗?
我的工作流程文件如下所示:
name: CI
# Controls when the workflow will run
on:
# …Run Code Online (Sandbox Code Playgroud) 我需要用 docker 设置哨兵。这就是为什么我不想在安装过程中被要求创建用户。因此我使用以下命令来安装哨兵。
./install.sh --no-user-prompt
Run Code Online (Sandbox Code Playgroud)
在配置文件 config.example.yml 中,我还设置了以下值。不幸的是我无法登录。
system.secret-key: 'somesupersecretkey'
system.admin-email: 'somemail@adress.com'
Run Code Online (Sandbox Code Playgroud)
我必须如何更改配置文件才能设置用户。那么 system.secrey-key 到底有什么用呢?