为什么配置文件没有正确加载?

Why profile does not get loaded properly?

我有 运行 主机上包含以下内容的剧本:

---
- name: Test
  hosts: debian
  vars_files:
    - "./secret.vault.yaml"
  tasks: # Roles, modules, and any variables
    - name: Install aptitude using apt
      apt: name=aptitude state=latest update_cache=yes force_apt_get=yes

    - name: Install required system packages
      apt: name={{ item }} state=latest update_cache=yes
      loop:
        [
          "apt-transport-https",
          "ca-certificates",
          "curl",
          "software-properties-common",
          "python3-pip",
          "virtualenv",
          "python3-setuptools",
        ]

    - name: Install snap
      apt:
        update_cache: yes
        name: snapd

    - name: Install git
      apt:
        update_cache: yes
        name: git

    - name: Install certbot
      apt:
        update_cache: yes
        name: certbot

    - name: Install htop
      apt:
        update_cache: yes
        name: htop

    - name: Ensure group "sudo" exists
      group:
        name: sudo
        state: present

    - name: Add Docker GPG apt Key
      apt_key:
        url: https://download.docker.com/linux/debian/gpg
        state: present

    - name: Add Docker Repository
      apt_repository:
        repo: deb [arch=amd64] https://download.docker.com/linux/debian buster stable
        state: present

    - name: Index new repo into the cache
      apt:
        name: "*"
        state: latest
        update_cache: yes
        force_apt_get: yes

    - name: Update apt and install docker-ce
      apt:
        update_cache: yes
        name: docker-ce
        state: latest

    - name: Ensure group "docker" exists
      group:
        name: docker
        state: present

    - name: Add admin user
      user:
        name: admin
        comment: administrator
        groups: sudo, docker
        password: "{{ adminpw | password_hash('sha512') }}"

    - name: Ensure docker-compose is installed and available
      get_url:
        url: https://github.com/docker/compose/releases/download/1.25.4/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }}
        dest: /usr/local/bin/docker-compose
        mode: "u=rwx,g=rx,o=rx"

    - name: Copy SSH file
      copy:
        src: ~/.ssh
        dest: /home/admin/
        force: yes
        owner: admin
        group: admin
        remote_src: yes  

当我尝试登录 ssh admin@xxx.xxx.xxx.xxx 时,.profile 没有正确加载:

输入 bash 命令后,显示:

正确。

我触发剧本如下:

ansible-playbook playbook.yaml -i ./hosts -u root --ask-vault-pass

哪里做错了?

根据您的 "after typing bash" 声明,您预计用户的 shell 为 /bin/bash,但事实并非如此;如果这是你的问题,那么你需要更新 user: 任务以指定你想要的 shell:

- name: Add admin user
  user:
    name: admin
    shell: /bin/bash