On 7/16/20 12:04 PM, Devraj B wrote:
I login to my Macbook Pro using my JumpCloud password. My userid is
firstname.lastname
/Users/firstname.lastname > whoami
firstname.lastname
After connecting to VPN, from my Macbook Pro Terminal, I connect to
PostgreSQL server staging.mycompany.com <http://staging.mycompany.com>
having CentOS 6.10
/Users/firstname.lastname > ssh staging.mycompany.com
<http://staging.mycompany.com>
[firstname.lastname@staging] $
Than I connect to root using my JumpCloud password
[firstname.lastname@staging] $ sudo su -
[sudo] password for firstname.lastname: < I enter my JumpCloud Password
here >
[root@staging] #
(Above, I could connect to root using my JumpCloud Password. I don't
know what setup would have been done for that.)
Checked the O/S
[root@staging] # uname -a
Linux staging.local 2.6.32-696.16.1.el6.x86_64 #1 SMP Wed Nov 15
16:51:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@staging] # lsb_release -d | awk -F"\t" '{print $2}'
CentOS release 6.10 (Final)
Connected to PostgreSQL (9.6.17) to create a user exactly SAME as of my
Macbook Pro (or JumpCloud) username.
[root@staging] # psql -h localhost -U postgres
postgres=#
postgres=# select version();
PostgreSQL 9.6.17 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7
20120313 (Red Hat 4.4.7-23), 64-bit
postgres=# create user "firstname.lastname";
CREATE ROLE
postgres=# grant connect on database my_test_db to "firstname.lastname";
GRANT
postgres=# \q
From server staging.mycompany.com <http://staging.mycompany.com> I can
connect to the database using user firstname.lastname successfully.
[root@staging] # psql -h localhost -U firstname.lastname -d my_test_db
my_test_db=>
But I want to setup JumpCloud or LDAP or any other authentication so
that I can connect PostgreSQL user "firstname.lastname" directly from
my Macbook Pro Terminal using my JumpCloud Password. Like:-
/Users/firstname.lastname > psql -h staging.mycompany.com
<http://staging.mycompany.com> -U firstname.lastname -d my_test_db
Password for user firstname.lastname: < I have Not given any password
when I created PostgreSQL user firstname.lastname above and trying to
authenticate here using my JumpCloud password, May be the same way as I
could connect above to root. But when I enter my JumpCloud Password here
there is an error. >
psql: error: could not connect to server: FATAL: password
authentication failed for user "firstname.lastname"
Well I would say the Postgres server has pg_hba.conf setup to require
password authentication for host(ssl) connections. A good idea.
You need to back to part above where you shelled into psql prompt and
use ALTER ROLE:
https://www.postgresql.org/docs/12/sql-alterrole.html
and do
ALTER ROLE firstname.lastname WITH LOGIN PASSWORD 'the_password';
You need the LOGIN if you want that role to connect directly to database.
FYI, the above can be done as part of CREATE ROLE also:
https://www.postgresql.org/docs/12/sql-createrole.html
You probably want to read through above anyway to see what the options
are and they do.
What more to set up so that I can connect PostgreSQL (9.6.17) database
using PostgreSQL user ( with the Same name as of my JumpCloud/ Macbook
Pro user) directly from my Macbook Pro terminal using my JumpCloud
Password authentication?
What do I need to set up in pg_hba.conf ?
Please suggest in detail.
Thks
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx