authorized_key ansible 模块将我的公钥复制到授权密钥,但我的无密码登录不起作用

authorized_key ansible 模块将我的公钥复制到授权密钥,但我的无密码登录不起作用

使用 ansibleauthorized_module 复制公钥后,我无法通过 ssh 无密码连接到远程主机。

如果您需要查看其他内容,请告诉我。

[xkadutut@wpas .ssh]$ ls -la
total 4
drwx------. 1 xkadutut staff  30 Dec 22 06:26 .
drwxrwxrwx. 1 xkadutut staff 204 Dec 22 05:40 ..
-rw-------. 1 xkadutut staff 395 Dec 22 06:26 authorized_keys
[xkadutut@wpas .ssh]$ pwd
/export/home/staff/xkadutut/.ssh
[xkadutut@wpas .ssh]$

```
   ansible

bash-4.2$ sudo cat kwaku_authorized_keys.yml
---
- hosts: kwaku
  become: true
  tasks:
  - name: set authorized public keys for Kwaku
    authorized_key:
      user: xkadutut
      state: present
      key: "{{ lookup('file', '/export/home/staff/kadutut/.ssh/id_rsa.pub') }}"



After I ran the playbook, I tried to ssh to wpas( remote host), and it still asked me for a password. 



bash-4.2$ ssh xkadutut@wpas-prod
**********************************************************
This system is for authorized users only; system access is
monitored. By using this system you  expressly consent  to
this monitoring. Evidence of  unauthorized access  will be
provided to the appropriate law enforcement agencies.
**********************************************************
xkadutut@wpas-prod's password:

答案1

这可能不是您唯一的问题,但远程系统上的主目录似乎权限过于宽松,并且 OpenSSH 服务器可能会忽略您的authorized_keys文件。

drwx------. 1 xkadutut staff  30 Dec 22 06:26 .
drwxrwxrwx. 1 xkadutut staff 204 Dec 22 05:40 ..
-rw-------. 1 xkadutut staff 395 Dec 22 06:26 authorized_keys

据此,您的主目录 ( /export/home/staff/xkadutut) 是全局和组可写的。 OpenSSH服务器默认会忽略authorized_keys这种情况。看到这段来自sshd 手册:

〜/.ssh/authorized_keys
列出可用于以此用户身份登录的公钥(DSA、ECDSA、Ed25519、RSA)。该文件的格式如上所述。文件内容不是高度敏感,但建议用户的权限是读/写,其他人无法访问。

如果其他用户可写入该文件、~/.ssh 目录或用户的主目录,则该文件可能会被未经授权的用户修改或替换。在这种情况下,sshd 将不允许使用它,除非 StrictModes 选项已设置为“no”。

修复方法是从您的主目录中删除组和世界写入权限:

chmod go-w /export/home/staff/xkadutut

相关内容