DataGrip password management in KDE and OpenSUSE
Today was the first time when I tried to launch JetBrains DataGrip on my KDE-based OpenSUSE distro that I’m actively using for development at home. Why I’m trying to reduce the usage of win 10 as much as possible is a separate story but anyway. As part of the home project that I’m involved in we are using MSSQL Server 2017 for Linux that could be easily started in Docker. Using
DataGrip with such setup is quite straightforward however there is one pitfall related to how
DataGrip stores passwords. Here is the brief overview.
Launching SQL Server for Linux
docker-compose file is my preferred way to work with
docker (even with single service) as it allows me to avoid memorizing the whole set of command-line arguments that could be difficult to reproduce. The docker-compose file looks something like this
version: '3.5' services: sql-server-dev: image: microsoft/mssql-server-linux:2017-latest ports: - target: 1433 published: 1433 protocol: tcp mode: host environment: ACCEPT_EULA: 'Y' MSSQL_SA_PASSWORD: 'my_Aw3s0me_Pwd' volumes: - type: volume source: sql-server-data target: /var/opt/mssql volumes: sql-server-data:
Personally I prefer long syntax as it gives much more clarity on what’s going on. Especially in cases when you or your team do not work with
docker on regular basis. It is much easier to read and understand
docker-compose file that uses such descriptive names.
Connecting to SQL Server using DataGrip
docker-compose file was successfully launched I’ve tried to connect to it using
DataGrip. The procedure is quite intuitive and straightforward on MacOS/Windows machines that I’ve used previously. At least in standard configuration. The connection screen may look something like this.
Completing a form and verifying connection took me a couple of minutes. After that I’ve refreshed the database list without expecting any difficulties and suddenly they occurred. To my surprise any server-related action (refreshing db list, loading tables, etc.) made
DataGrip open credentials window and ask for my password. I’ve tried to restart
DataGrip, re-enter creds, recreate a connection event though there was nothing special the sql server container logs. No success.
Next step - start to duckduckgoling the issue and successfully the clue has been found. There is an issue in
IntelliJ Idea bug tracker - Allow storing passwords using KWallet and related
DataGrip issue - Database too window cant remember password (even if check “Remember” checkbox.
KDE desktop env uses KWallet for creds management. Though
git integrates with
KWallet natively it still not supported in
Previously I’ve faced a couple of issues with
JetBrains products and there was always a workaround if something did not work. So the first idea was to look in
DataGrip settings and verify what other options are provided to control the creds storage. There are two of them available out of the box:
- native creds management solution that is selected by default;
- using KeePass database;
KeePass… I’m a big fan of this really amazing product and use them across all the devices (mac, desktop, android). There is a security note about using
keepass database (encrypted storage) and it is up to you what path to follow. For my particular case (storing dev db creds) this plays nice without any encryption so I’ve moved forward with standard setup and the issue with creds was finally resolved!
That’s it. Happy coding!
DataGrip issue contains a reply from
Vasily Chernov - a
JetBrains guy who advised to use
KeePass as a temporary solution as well. Though it is unclear when it will be done. I’ve upvoted the issue (to get notifications) and advise everyone to do this as it increase the chance to get the issues fixed sooner.