12.10 ve postgresql 9.1 çalışan DigitalOcean'da VPS üzerindeki uzak bir makineden postgresql veritabanına erişmem gerekiyor.
Bunu nasıl yaparım? 5432 numaralı bağlantı noktasının kapalı olduğunu fark ettim, bunu nasıl açarım?
12.10 ve postgresql 9.1 çalışan DigitalOcean'da VPS üzerindeki uzak bir makineden postgresql veritabanına erişmem gerekiyor.
Bunu nasıl yaparım? 5432 numaralı bağlantı noktasının kapalı olduğunu fark ettim, bunu nasıl açarım?
Yanıtlar:
Liman 5432 düzenlemeyi sizin açmak için /etc/postgresql/9.1/main/postgresql.conf
ve değişim
listen_addresses='localhost'
için
listen_addresses='*'
ve DBMS'nizi yeniden başlatın
invoke-rc.d postgresql restart
şimdi bağlanabilirsiniz
$ psql -h hostname -U username -d database
Kendinizi doğrulayamıyorsanız, kullanıcılarınıza veritabanınıza erişim hakları vermeniz gerekir.
Düzenleyin
/etc/postgresql/9.1/main/pg_hba.conf
ve Ekle
host all all all md5
(Bu geniş bir açık erişim içindir. Daha sıkı kontrol için, pg_hba.conf belgelerine bakın ve ihtiyaçlarınıza göre ayarlayın).
Bundan sonra ayrıca bir yeniden yüklemeye ihtiyacınız var
invoke-rc.d postgresql reload
Bunun temel bir yapılandırma olduğunu söylememe gerek yok, şimdi güvenlik duvarınızı değiştirmeyi ve DBMS'nizin güvenliğini artırmayı düşünmelisiniz.
host <database> <user> <remote_client_IPaddress>/24 md5
Bu daha önce işe yaramazsa, artık işe yaramaz:
hepsini barındır * md5
Bunun için doğru çizgiler:
tüm 0.0.0.0/0 md5 # ipv4 ürün yelpazesine ev sahipliği yaptı
hepsini barındıran :: 0/0 md5 # ipv6 range
tüm hepsini barındır md5 #all ip
host all all all md5
iyi çalışır mı? Doğru mu Herhangi bir güvenlik problemi var mı?
En yüksek oyu alan ve kabul edilen cevabın ciddi güvenlik uygulamaları var. Bu yöntem, iyi nedenlerle varsayılan olarak devre dışıdır.
Yerel bağlantı noktası yönlendirmeyi daha iyi kullanmak ssh
:
ssh -L local_port:localhost:foreign_port user@server
Port yönlendirmeyi başlat:
ssh -L 5432:localhost:5432 user@your-server.com
#or
ssh -L 5432:127.0.0.1:5432 user@your-server.com
(Yapılandırmanıza uyacak şekilde yerel ve yabancı bağlantı noktalarını değiştirin).
Ardından, veritabanına doğrudan yerel bilgisayarınızdan bağlanabilirsiniz:
psql -U db_user -p local_port -l