Điểm:2

Làm cách nào để thêm khóa ssh qua Ansible khi AuthorizedKeysFile được đặt?

lá cờ br

Làm cách nào tôi có thể yêu cầu Ansible điền đúng tệp khi tôi /etc/ssh/sshd_configKhóa được ủy quyềnTệp đặt thành /etc/ssh/authorized_keys/%u? Ansible dường như bỏ qua cài đặt và đặt các phím trong $HOME/.ssh/authorized_keys

vở kịch:

---
- máy chủ: tất cả
  lọ:
  vars_files:
    - ../group_vars/ssh_root_authorized_keys.yml
  thu thập_facts: sai

  nhiệm vụ:
    - tên: Thiết lập nhiều khóa được ủy quyền
      ủy quyền_key:
        người dùng: gốc
        trạng thái: hiện tại
        khóa: '{{ item.key }}'
      with_items: "{{ root_auth_keys }}"

ssh_root_authorized_keys.yml

root_auth_keys:
  - tên: backup@host
    key : "{{ tra cứu('file', '../group_vars/pubkeys/[email protected]') }}"

  - tên: nagios@host
    key : "{{ tra cứu('file', '../group_vars/pubkeys/[email protected]') }}"
Điểm:1
lá cờ in

Từ tài liệu:

đường dẫn: Đường dẫn thay thế đến tệp ủy quyền

  nhiệm vụ:
    - tên: Thiết lập nhiều khóa được ủy quyền
      ủy quyền_key:
        người dùng: gốc
        trạng thái: hiện tại
        khóa: '{{ item.key }}'
        đường dẫn: '/etc/ssh/authorized_keys/root'
      with_items: "{{ root_auth_keys }}"
Nstevens avatar
lá cờ br
Cảm ơn. Tôi đã hy vọng Ansible "nhận biết đường dẫn" nhưng đoán là không. Tôi cho rằng `stat:` có thể hữu ích ở đây vì tôi có một số máy chủ không có bộ `AuthorizedKeysFile`. Có cách nào dễ dàng để xác định xem mục cấu hình sshd này có khác với mặc định không? Tôi đang nghĩ `shell:` hoặc `cmd:` với `grep` nhưng có thể không.
Điểm:0
lá cờ br

Có một vài bước để chuẩn bị chức năng này. Đầu tiên, lấy giá trị của tham số. Có thể có nhiều lựa chọn hơn, ví dụ: theo mặc định

vỏ> Sudo sshd -T | grep ủy quyềnkeysfile
tệp khóa ủy quyền .ssh/ủy quyền_keys .ssh/ủy quyền_keys2

Ví dụ, lấy cái đầu tiên

    - vỏ: sshd -T | grep ủy quyềnkeysfile
      đăng ký: kết quả
      trở thành sự thật
    - bộ_thực tế:
        AuthorizedKeysFile: "{{ (result.stdout|split)[1] }}"

cho

  AuthorizedKeysFile: .ssh/authorized_keys

Tham số AuthorizedKeysFile có thể chứa %u%h. Nhìn thấy Vị trí của tệp khóa được ủy quyền

%h sẽ được thay thế bằng thư mục chính của người dùng được xác thực và %u bằng tên đăng nhập của người dùng

Chuẩn bị cơ sở dữ liệu của các thư mục nhà

    - nhận được:
        cơ sở dữ liệu: passwd

Theo mặc định, mô-đun nhận được lưu trữ cơ sở dữ liệu mật khẩu trong từ điển getent_passwd. Trang chủ là thuộc tính thứ 4, ví dụ:

    - gỡ lỗi:
        var: getent_passwd['root'][4]

cho

  getent_passwd['root'][4]: /root

Bây giờ, với dữ liệu

    auth_keys:
      gốc: [key1, key2, key3]

bạn có thể kiểm tra chức năng

    - vỏ: sshd -T | grep ủy quyềnkeysfile
      đăng ký: kết quả
      trở thành sự thật
    - bộ_thực tế:
        AuthorizedKeysFile: "{{ (result.stdout|split)[1] }}"
    - nhận được:
        cơ sở dữ liệu: passwd
    - gỡ lỗi:
        tin nhắn: |
          đường dẫn: {{_đường dẫn}}
          khóa: {{ item.value }}
      vòng lặp: "{{ auth_keys|dict2items }}"
      lọ:
        _user: "{{ item.key }}"
        _home: "{{getent_passwd[item.key][4] }}"
        _akf: "{{ AuthorizedKeysFile|regex_replace('%u', _user)|
                                     regex_replace('%h', _home) }}"
        _path: "{{ (_akf.0 == '/')|ternary(_akf, [_home, _akf]|join('/')) }}"

cho

  thông báo: |-
    đường dẫn: /root/.ssh/authorized_keys
    phím: ['key1', 'key2', 'key3']

Nếu bạn thay đổi tham số

vỏ> Sudo sshd -T | grep ủy quyềnkeysfile
tệp khóa được ủy quyền /etc/ssh/authorized_keys/%u

trò chơi sẽ nhận được vị trí chính xác của tệp khóa được ủy quyền

  thông báo: |-
    đường dẫn: /etc/ssh/authorized_keys/root
    phím: ['key1', 'key2', 'key3']

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.