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

이것이 유일한 문제는 아닐 수도 있지만 원격 시스템의 홈 디렉터리에 권한이 너무 허용된 것으로 나타나 authorized_keysOpenSSH 서버에서 파일을 무시할 수 있습니다.

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 디렉터리 또는 사용자의 홈 디렉터리에 쓸 수 있는 경우 권한 없는 사용자가 파일을 수정하거나 교체할 수 있습니다. 이 경우 StrictModes 옵션이 "no"로 설정되지 않으면 sshd는 해당 사용을 허용하지 않습니다.

해결 방법은 홈 디렉터리에서 그룹 및 전체 쓰기 권한을 제거하는 것입니다.

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

관련 정보