升级到Python3.9无法ssh到Ubuntu EC2实例

升级到Python3.9无法ssh到Ubuntu EC2实例

我正在使用 packer 和 ansible 创建自定义 AMI。基本 AMI 是 Canonical 提供的 Ubuntu 20.04,它是使用 ansible playbook 定制的。我正在安装 python3.9 并将其设置为默认 python:

        - name: Setup Python3.9 As Default Python Interpreter
      shell: |
          sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
          sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

基于此 AMI 的每个 EC2 实例都无法通过 ssh 访问(我已安装 openssh-server 并放置了密钥)。实例重新启动后,我可以通过 ssh 访问服务器。问题似乎出在cloud-init无法与 python3.9 配合使用的软件包上。我尝试了什么?

  1. 禁用该cloud-init软件包 - 即使重启后也没有 ssh 连接
  2. 手动安装最新版本cloud-init- 首次启动时没有 ssh,重启后 ssh 可用。出现此错误 -ubuntu@ip-XXX-XX-XX-XXX:~$ docker Traceback (most recent call last): File "/usr/lib/command-not-found", line 28, in <module> from CommandNotFound import CommandNotFound File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module> from CommandNotFound.db.db import SqliteDatabase File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module> import apt_pkg ModuleNotFoundError: No module named 'apt_pkg'

相关内容