gpt4 book ai didi

ssh - Ansible `authorized_key` 将 key 复制到远程用户但在尝试 ssh 时不起作用

转载 作者:行者123 更新时间:2023-12-02 14:20:26 24 4
gpt4 key购买 nike

我的 ansible playbook 中有以下任务,为远程用户添加我的 ssh 公钥 pranjal已由先前的任务创建。

- authorized_key:
user: pranjal
key: "{{ lookup('file', 'pranjal.pub') }}"

当我运行 ansible playbook 时,它运行成功。但是,当我尝试使用以下命令登录服务器时: ssh pranjal@<server_ip>
我得到一个 Permission denied (publickey)错误。

为了确保我从另一个用户登录到服务器并仔细检查了 /home/pranjal/.ssh/authorized_keys 中列出的 key 与我用来登录的本地公钥匹配。

我在这里猜测的问题可能是权限问题,我从相关的 question 中了解了解决方案.

但是我们如何从 Ansible 任务本身更改 authorized_key 的权限呢? (这样我就不必单独登录实例来修改.ssh/authorized_keys的权限)

最佳答案

- file: path=/home/pranjal/.ssh state=directory owner=pranjal mode=0700
- file: path=/home/pranjal/.ssh/authorized_keys state=file owner=pranjal mode=0600

您可能还想检查/验证/etc/ssh/sshd_config 是否具有以下内容:
PubkeyAuthentication yes

您可以通过 ssh -vvv pranjal@<server_ip> 进一步调试

关于ssh - Ansible `authorized_key` 将 key 复制到远程用户但在尝试 ssh 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37287736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com