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_keys
OpenSSHサーバー上のファイルを無視することができます。
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