SSH公钥登录突然停止工作(CENTOS 6)



我正在测试一个 jenkins 构建作业,其中我使用 ansible 将压缩包连接到许多服务器。下面是 ansible yaml 文件:

- hosts: websocket_host
  user: root
  vars:
    tarball: /data/websocket/jenkins/deployment/websocket_host/websocket.tgz
    deploydir: /root
  tasks:
  - name: copy build to websocket server
    action: copy src=$tarball dest=$deploydir/websocket.tgz
  - name: untar build on websocket server
    action: command tar xvfz $deploydir/websocket.tgz -C $deploydir
  - name: restart websocket server
    action: command /root/websocket/bin/websocket restart
前两个命令在命令/root/websocket/

bin/websocket 重新启动失败的情况下成功运行。从那以后,我已经能够登录(无需密码)到我的 ansible 主机文件中定义的任何服务器以进行websocket_host。我已经验证了主机和客户端计算机上的所有权限设置是否正确。我已经从几台客户端计算机上对此进行了测试,它们现在都要求我输入密码才能使用 ssh。昨天我能够ssh(通过我的公钥)没有问题。我在主机上使用 root 用户,想知道将文件复制到/root 目录是否导致了此问题,因为这是我能够通过无密码 ssh 会话成功运行的最后一个命令。

事实证明,Jenkins 作业更改了我的/root 目录的所有权和组。命令:chown root.root/root 修复了所有问题。

最新更新