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

标签 ssh jenkins centos ansible

我正在测试一个 jenkins 构建作业,其中我使用 ansible 将 tarball scp 到多个服务器。下面是 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 restart 失败。从那以后,我就能够(无需密码)登录到我的 ansible 主机文件中为 websocket_host 定义的任何服务器。我已经验证我的所有权限设置在主机和客户端机器上都是正确的。我已经从几台客户端机器上对此进行了测试,它们现在都要求我输入 ssh 密码。昨天我能够 ssh(通过我的公钥)没问题。我在主机上使用 root 用户,想知道将文件复制到/root 目录是否会导致此问题,因为这是我能够通过无密码 ssh session 成功运行的最后一个命令。

最佳答案

原来 Jenkins 的工作改变了我的/root 目录的所有权和组。命令: chown root.root/root 修复一切。

关于SSH 公钥登录突然停止工作(CENTOS 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187225/

相关文章:

maven - 如何让 Jenkins 构建正确的 .war 文件?

python - "paramiko.ssh_exception.SSHException: could not get keys from ssh-agent"如何解决

Shell 脚本 - 遍历目录?

git - 在 Git 中更改 SSH 密码

jenkins - 如何知道jenkins部署和构建代码的服务器IP地址

linux - 如何在 Linux 中使用相同目录从我的工作终端打开一个新终端?

jenkins - 我想知道Jenkins插件更新网址

django - 如何配置 Apache httpd 为多用户设置多站点?

jenkins - 无法在 Jenkins 2.235 中从主节点 ssh 到从节点

ssh - 在 ssh 之后从命令行重命名 Konsole session