Why KeePass specifically? First of all, it is open-source, which means that potential vulnerabilities are fixed quickly. Secondly, KeePass analogues exist for practically any operating system. This means that you can create a password database under one OS and then use that same database on any other without any additional manipulations. The project page lists all clients compatible with the KeePass format. Personally, I use KeePassXC for Linux, KeePass for Windows, and KeePass2Android for Android. I am providing instructions for Windows.
Download and install the client, launch it, and you will see a simple interface. Now, let’s create a new password database.

A dialog for creating a new database opens. By default, the database has the .kdbx extension, but if you leave it that way, any fool will know that this specific file contains delicious passwords, after which all that’s left for them is a mere trifle: figuring out how to open it. So, I recommend choosing “All files” in the file type filter, and then naming the database file something harmless. For these same reasons, by the way, it is worth choosing the portable version when downloading the program; that way, even if an attacker gains access to your turned-on computer, they won’t know which folder to dig into for passwords. And when they turn off the computer to take it to experts, upon the next startup, it will turn out that the disk is encrypted. You do encrypt your disk, I hope?

As a storage location for the database, it is most convenient to choose a folder of a particular cloud application. Most often, the ancient and venerable Dropbox is used, but any other will do, although I probably wouldn’t use the loyalist Yandex. The point is auto-synchronization: when you add a new password to the database from your desktop, it is immediately available on your phone. Or vice versa. In any case, nothing prevents you from synchronizing databases manually, for example, by sending the necessary file to yourself on Telegram.
So, we have chosen a storage location for the database, and now we are asked to create a master password. The database will be encrypted with it. Yes, unfortunately, in order to avoid the headache of remembering many passwords, you will still have to remember one password.

In principle, you can limit yourself to just a master password, but there is an option to provide two-factor authentication. To do this, check the “Show expert options” box and select the creation of a key file there. In the next dialog, you don’t need to touch anything.

Next, you will be required to randomly move your mouse and/or type nonsense in a neighboring window to gather entropy, which is intended to ensure the reliability of the cryptographic protection of the key being created. This is all Greek to me, but if the specialists require it, I don’t mind—let’s move the mouse.

Next, you are prompted to choose a location to save the key file and its name. Well, you’ve already understood that it makes sense to create a name not with the standard .key extension, but with something unassuming, like a banal .doc. However, you can choose to store the key in a local folder rather than a cloud folder. That way, even if someone has access to your cloud and learns your master password (let’s set aside the idea of a soldering iron; it could be, for example, a keylogger), the attacker will not be able to crack the database, because the key file was not in the cloud. In this case, you will have to manually copy the key to all devices where you need access to the password database, but this is a one-time procedure—unlike the database, the key to it will not change.

Just in case, you can print the key on a piece of paper, although I personally have already neglected this precaution—I just don’t like paper.

That’s it, the database is created; it already contains a couple of test entries and a certain approximate folder structure. Let’s enter the credentials of some very important account into the database; for example, we want to record the access credentials for an account on the ancapchan.info website. To do this, click on the icon to create a new entry.

In the subsequent dialog, you can manually enter the username and other related data. As for the password, it is generated immediately. By clicking the icon to the right of the password field, we can see what has been generated, after which we can copy this gibberish and paste it into the input field on the website where we are currently registering.

Well, if, for example, the settings of the website you are trying to register on imply that certain characters are absolutely required, while others must not be used under any circumstances, then click the icon next to the repeat password field to enter the password generator. Here you can choose the password length and set restrictions on the character set used.

That’s it, an entry containing the username, password, and other data, if needed, has appeared in our database. Now, if we want to log in to the website with these credentials, all that’s left is to select the required account in the password manager and then copy the username and password to the clipboard—I have marked the corresponding icons in the image.

That is all for the basic functionality; you can figure out the nuances on your own later.