Site icon FSIBLOG

How to Fix an Error Installing Azure CLI on Linux Mint?

How to Fix an Error Installing Azure CLI on Linux Mint?

How to Fix an Error Installing Azure CLI on Linux Mint?

When I first tried to install the Azure CLI on my Linux Mint 19 machine, I thought it would be simple just follow the manual instructions from Microsoft, But the process quickly threw me into error land. Let me walk you through what happened, what I learned, and how I fixed it.

The Error That Stopped Me

The official instructions started with this line:

sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg

But instead of installing smoothly, I hit this error:

openssh-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Naturally, I tried the usual:

sudo dpkg --configure -a
sudo apt-get install -f

but no luck. Both commands failed with a service error:

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code)
  Process: 22323 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255)

At this point, Azure CLI wasn’t even the real problem the openssh server package was broken, and because dpkg aborted, apt couldn’t proceed.

What Was Really Happening

That cryptic message:

E: Sub-process /usr/bin/dpkg returned an error code (1)

basically means: “a package failed during post-install configuration.”

In my case, openssh-server was the culprit. Its post-install script runs:

/usr/sbin/sshd -t

That command checks the SSH configuration for errors. Since it failed with status 255, dpkg refused to continue. Until I fixed SSH, I couldn’t install anything.

Common Causes of sshd -t = 255

Through trial and error (and a bit of digging), I discovered these are the usual suspects:

My Quick Fix

Here’s how I fixed it, in order. You can follow these too:

# 1) Test sshd config
sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config || echo "sshd_config has an error"

# 2) Regenerate host keys if missing
sudo ssh-keygen -A

# 3) Correct permissions
sudo chown root:root /etc/ssh/sshd_config
sudo chmod 644 /etc/ssh/sshd_config
sudo chmod 600 /etc/ssh/ssh_host_*_key 2>/dev/null || true
sudo chmod 644 /etc/ssh/ssh_host_*_key.pub 2>/dev/null || true

# 4) Check if port 22 is in use
sudo ss -ltnp | grep ':22' || true

# 5) Reset sshd_config to default (backup first!)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%s)
sudo apt-get -y --reinstall install openssh-server
sudo cp /usr/share/openssh/sshd_config /etc/ssh/sshd_config 2>/dev/null || true

# 6) Retest and restart SSH
sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config
sudo systemctl enable --now ssh

# 7) Finally unstick apt/dpkg
sudo dpkg --configure -a
sudo apt-get -f install

After this, apt worked again. That felt like a win!

Installing Azure CLI Properly

Once SSH was fixed, I could finally continue with the Azure CLI installation.

# 1) Install dependencies
sudo apt-get update
sudo apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg

# 2) Add Microsoft repo for Ubuntu 18.04 (Mint 19 base = bionic)
curl -sL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ bionic main" | \
  sudo tee /etc/apt/sources.list.d/azure-cli.list

# 3) Update and install CLI
sudo apt-get update
sudo apt-get install -y azure-cli

# 4) Verify install
az version

If you’re on Mint 20/21, just swap bionic with focal or jammy.

Practice Utilities I Use

To make sure everything was solid, I tested a few things:

Check SSH service health

systemctl status ssh --no-pager
journalctl -u ssh -b --no-pager | tail -200

Confirm Azure CLI works

az login
az account show --output table
az group list --output table

Cleanup if needed

sudo apt-get remove -y azure-cli
sudo rm -f /etc/apt/sources.list.d/azure-cli.list
sudo apt-get update

Final Thought

When I first tried to install the Azure CLI on my Linux Mint 19 machine, I thought it would be simple—just follow the manual instructions from Microsoft, right? But the process quickly threw me into error land. Let me walk you through what happened, what I learned, and how I fixed it.

Exit mobile version