SSH Key Management on Ubuntu 20.04/22.04

On a fresh Ubuntu 20.04 or 22.04 install, I get the following errors while running

sudo pip3 install privacyideaadm
Collecting privacyideaadm
  Using cached privacyideaadm-3.0.tar.gz (41 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: cffi in /usr/local/lib/python3.10/dist-packages (from privacyideaadm) (1.15.1)
Requirement already satisfied: click in /usr/lib/python3/dist-packages (from privacyideaadm) (8.0.3)
Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from privacyideaadm) (3.4.8)
Requirement already satisfied: python-yubico in /usr/local/lib/python3.10/dist-packages (from privacyideaadm) (1.3.3)
Requirement already satisfied: qrcode in /usr/local/lib/python3.10/dist-packages (from privacyideaadm) (7.3.1)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from privacyideaadm) (2.25.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from privacyideaadm) (1.16.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi->privacyideaadm) (2.21)
Requirement already satisfied: pyusb in /usr/local/lib/python3.10/dist-packages (from python-yubico->privacyideaadm) (1.2.1)
Building wheels for collected packages: privacyideaadm
  Building wheel for privacyideaadm (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [59 lines of output]
      ### could not open file 'DESCRIPTION'
      /usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
        warnings.warn(
      /usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
        warnings.warn(
      /usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
        warnings.warn(
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib
      creating build/lib/privacyideautils
      copying privacyideautils/nitrokey.py -> build/lib/privacyideautils
      copying privacyideautils/pytoken-totp.py -> build/lib/privacyideautils
      copying privacyideautils/initdaplug.py -> build/lib/privacyideautils
      copying privacyideautils/yubikey.py -> build/lib/privacyideautils
      copying privacyideautils/etokenng.py -> build/lib/privacyideautils
      copying privacyideautils/clientutils.py -> build/lib/privacyideautils
      copying privacyideautils/__init__.py -> build/lib/privacyideautils
      copying privacyideautils/offline.py -> build/lib/privacyideautils
      copying privacyideautils/pytoken.template.py -> build/lib/privacyideautils
      creating build/lib/privacyideautils/commands
      copying privacyideautils/commands/token.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/audit.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/yubikey.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/machine.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/user.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/config.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/resolver.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/__init__.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/securitymodule.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/realm.py -> build/lib/privacyideautils/commands
      copying privacyideautils/commands/certificate.py -> build/lib/privacyideautils/commands
      running build_scripts
      creating build/scripts-3.10
      copying and adjusting scripts/privacyidea -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-luks-assign -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-authorizedkeys -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-check-offline-otp -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-get-offline-otp -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-validate -> build/scripts-3.10
      copying and adjusting scripts/privacyidea-enroll-yubikey-piv -> build/scripts-3.10
      changing mode of build/scripts-3.10/privacyidea from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-luks-assign from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-authorizedkeys from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-check-offline-otp from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-get-offline-otp from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-validate from 644 to 755
      changing mode of build/scripts-3.10/privacyidea-enroll-yubikey-piv from 644 to 755
      /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      installing to build/bdist.linux-x86_64/wheel
      running install
      running build_sphinx
      Running Sphinx v5.3.0

      Configuration error:
      config directory doesn't contain a conf.py file (/tmp/pip-install-ljf71xm_/privacyideaadm_d847d88e69504a4a86dff25ba5586693/doc)
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for privacyideaadm
  Running setup.py clean for privacyideaadm
Failed to build privacyideaadm
Installing collected packages: privacyideaadm
  Running setup.py install for privacyideaadm ... error
  error: subprocess-exited-with-error

  × Running setup.py install for privacyideaadm did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      ### could not open file 'DESCRIPTION'
      /usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
        warnings.warn(
      /usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
        warnings.warn(
      /usr/lib/python3/dist-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
        warnings.warn(
      running install
      /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build_sphinx
      Running Sphinx v5.3.0

      Configuration error:
      config directory doesn't contain a conf.py file (/tmp/pip-install-ljf71xm_/privacyideaadm_d847d88e69504a4a86dff25ba5586693/doc)
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> privacyideaadm

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Is there any other way to install the current tooling, as there are no packages in the repository to perform an installation through APT.

Thanks for any feedback!

This should be installed in a virtualenv.
However, it seems to be broken.
I can confirm that I also can not easily install it.

Hi jantytgat,

please try this:

virtualenv -p /usr/bin/python3 privacyideaadm
. privacyideaadm/bin/activate
pip install git+https://github.com/privacyidea/privacyideaadm

This works on ubuntu22 and ubuntu20

br

Julio

1 Like