$ sudo apt install dput-ng
If you have already set up SSH private key login to your Reprepro server, please skip this step.
If you already have a SSH key pair in the default location, please skip this step.
Generate your SSH key pair by executing
You will be prompted to choose the location to store the keys. Press Enter to use the default.
Then you will be prompted to choose a password. Press Enter twice to use the empty password.
Copy the SSH public key to your Reprepro server by
$ ssh-copy-id [email protected]_host
username with your actual username used to log into the server and
reprepro_host with the hostname of your server.
You will be prompted to enter your server login password.
Test your key setup by executing
$ ssh [email protected]_host
If the setup is successful, you will get directly into the server shell without entering a password.
$ sudo nano /etc/dput.d/profiles/myrepo.json
To suit your needs, you may
loginto your actual username used to log into your private Repropro server via SSH.
fqdnto the hostname of your private Reprepro server.
incomingto the incoming directory configured on your Reprepro server.
falseto disallow unsigned uploads.
To upload your packages. simply execute
$ dput myrepo package.changes
dput will parse
package.changes file and upload relevant debs to the incoming directory of Reprepro server via SFTP.
Your server should have a script that periodically checks the incoming directory for new packages. If there are new ones, the script will add them to the Reprepro repository.
dput-ng may show this error when you attempt to upload packages to your server.
SFTP error uploading to reprepro_server: SSHException('not a valid RSA private key file')
The reason is that dput-ng uses an old version of paramiko library which does not support OpenSSH keys created by
ssh-keygen using the default options. To work around this problem, we have to convert OpenSSH keys to RSA by
$ ssh-keygen -p -m PEM -f ~/.ssh/id_rsa