![升级到Python3.9无法ssh到Ubuntu EC2实例](https://linux22.com/image/1196250/%E5%8D%87%E7%BA%A7%E5%88%B0Python3.9%E6%97%A0%E6%B3%95ssh%E5%88%B0Ubuntu%20EC2%E5%AE%9E%E4%BE%8B.png)
我正在使用 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 配合使用的软件包上。我尝试了什么?
- 禁用该
cloud-init
软件包 - 即使重启后也没有 ssh 连接 - 手动安装最新版本
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'