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

おすすめ記事