Tôi nhận thấy đây là câu hỏi là năm cũ, nhưng tôi đã gặp phải vấn đề tương tự như hôm nay và có giải pháp sử dụng trust
theo cách giới hạn nhưng hữu ích.
Như trong nhiều cửa hàng phát triển, khi người dùng cần mật khẩu bảo đảm chất lượng, họ chỉ cần hét lên, nhắn tin, gửi email, viết lên trán, v.v. Và tôi thích, "Điều này thực sự tệ. Tôi cần tìm ra cách để sử dụng PKI ở đây. " Chúng tôi cũng sử dụng pgAdmin3.
Đầu tiên, thêm một dòng như thế này để pg_hba.conf của bạn, nơi dev
đại diện người sử dụng cho các nhà phát triển trong cửa hàng của bạn:
host all dev 127.0.0.1/32 trust
Drop khóa công khai của nhà phát triển trong thư mục authorized_keys
của họ trên máy chủ cơ sở dữ liệu. Bây giờ có họ ssh vào máy chủ với -L
cờ với một lệnh tương tự như sau:
ssh -i ~/.ssh/id_rsa -L5432:127.0.0.1:5432 -vvv 101.102.103.104
này cho phép một người sử dụng cổng postgres như thể nó đã được localhost. Tất nhiên, thay thế khóa, máy chủ và đảm bảo ánh xạ tới một cổng mở cục bộ (nếu bạn có một postgres cục bộ đang chạy, nó có thể bị ràng buộc tới 5432). Tôi sử dụng một cờ khá dài để tôi có thể dễ dàng gỡ rối bất kỳ vấn đề ssh nào.
mở một terminal và ban hành lệnh này:
psql -h 127.0.0.1 -U dev -p 5432
Bạn nên có quyền truy cập vào cơ sở dữ liệu và không bao giờ được nhắc nhập một mật khẩu, mà tôi nghĩ là rất tốt bởi vì nếu không, các nhà phát triển sẽ chỉ từ bỏ mật khẩu xung quanh với ít quan tâm đến an ninh, chuyển nó ra như kẹo Halloween.
Hiện tại, PgAdmin3 sẽ vẫn nhắc bạn nhập mật khẩu, mặc dù - đồng bằng như ngày - bạn không cần nó. Nhưng các GUI postgres khác sẽ không. Hãy thử Postico. Đó là bản beta nhưng hoạt động rất tốt.
Tôi hy vọng câu trả lời này sẽ giúp bất kỳ ai thích tôi, những người thích sử dụng PKI cho quyền truy cập thay vì chia sẻ mật khẩu.
Bạn đã thử * cung cấp * mật khẩu đã yêu cầu chưa? –
Mật khẩu của tôi trống, vì vậy tôi vừa nhập khi có yêu cầu. – DarkCoffee
Bạn có thể thử kết nối từ dòng lệnh không? '$ psql -U -h ' bạn có thể thoát khỏi -h nếu bạn muốn kết nối bằng cách sử dụng ổ cắm miền unix. –
Eelke