#前提:root用户已完成密钥认证
---

- name: Set up SSH access for specific user

  hosts: all  # 目标主机组,可以在执行时通过 -l 参数指定

  gather_facts: no

  vars:

    target_user: "your_user"  # 要配置的目标用户

    ssh_pub_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."  # 要添加的公钥内容

 

  tasks:

    - name: Check if target user exists

      become: yes

      register: user_exists

      command: "id -u {{ target_user }}"

      ignore_errors: yes

      changed_when: false

 

    - name: Fail if user does not exist

      fail:

        msg: "Target user {{ target_user }} does not exist on the system"

      when: user_exists.rc != 0

 

    - name: Create .ssh directory for target user

      become: yes

      become_user: "{{ target_user }}"

      file:

        path: "/home/{{ target_user }}/.ssh"

        state: directory

        mode: '0700'

        owner: "{{ target_user }}"

        group: "{{ target_user }}"

 

    - name: Set authorized_keys for target user

      become: yes

      become_user: "{{ target_user }}"

      copy:

        dest: "/home/{{ target_user }}/.ssh/authorized_keys"

        content: "{{ ssh_pub_key }}\n"

        owner: "{{ target_user }}"

        group: "{{ target_user }}"

        mode: '0600'

 

 

 

ansible-playbook -i your_inventory_file setup_user_ssh.yml -u root -k

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐