17.10. ÐаÑиÑа Ñоединений TCP/IP Ñ Ð¿Ñименением ÑÑннелей SSH
ÐÐ»Ñ Ð·Ð°ÑиÑÑ ÑеÑевÑÑ Ñоединений клиенÑов Ñ ÑеÑвеÑом Postgres Pro можно пÑимениÑÑ SSH. ÐÑи пÑавилÑном Ð¿Ð¾Ð´Ñ Ð¾Ð´Ðµ ÑÑо позволÑÐµÑ Ð¾Ð±ÐµÑпеÑиÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑиÑÑ ÑеÑевого ÑÑаÑика, даже Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñов, не поддеÑживаÑÑÐ¸Ñ SSL.
ÐÑежде вÑего ÑбедиÑеÑÑ, ÑÑо на компÑÑÑеÑе Ñ ÑеÑвеÑом Postgres Pro Ñакже ÑабоÑÐ°ÐµÑ ÑеÑÐ²ÐµÑ SSH и Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе подклÑÑиÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ ÑеÑез ssh каким-нибÑÐ´Ñ Ð¿Ð¾Ð»ÑзоваÑелем; заÑем Ð²Ñ ÑможеÑе ÑÑÑановиÑÑ Ð·Ð°ÑиÑÑннÑй ÑÑÐ½Ð½ÐµÐ»Ñ Ñ ÑÑим ÑдалÑннÑм ÑеÑвеÑом. ÐаÑиÑÑннÑй ÑÑÐ½Ð½ÐµÐ»Ñ Ð¿ÑоÑлÑÑÐ¸Ð²Ð°ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй поÑÑ Ð¸ пеÑенапÑавлÑÐµÑ Ð²ÐµÑÑ ÑÑаÑик в поÑÑ ÑдалÑнного компÑÑÑеÑа. ТÑаÑик, пеÑедаваемÑй в ÑдалÑннÑй поÑÑ, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑÑпиÑÑ Ð½Ð° его адÑÐµÑ localhost или на дÑÑгой пÑивÑзаннÑй адÑеÑ, еÑли ÑÑо ÑÑебÑеÑÑÑ. ÐÑи ÑÑом не бÑÐ´ÐµÑ Ð²Ð¸Ð´Ð½Ð¾, ÑÑо ÑÑаÑик поÑÑÑÐ¿Ð°ÐµÑ Ñ Ð²Ð°Ñего компÑÑÑеÑа. СледÑÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°ÑиÑÑннÑй ÑÑÐ½Ð½ÐµÐ»Ñ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑким компÑÑÑеÑом и ÑдалÑнной маÑиной foo.com:
ssh -L 63333:localhost:5432 [email protected]
ÐеÑвое ÑиÑло в аÑгÑменÑе -L, 63333 â ÑÑо локалÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾ÑÑа ÑÑннелÑ; ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбой незанÑÑÑй поÑÑ. (IANA ÑезеÑвиÑÑÐµÑ Ð¿Ð¾ÑÑÑ Ñ 49152 по 65535 Ð´Ð»Ñ ÑаÑÑного иÑполÑзованиÑ.) ÐÐ¼Ñ Ð¸Ð»Ð¸ IP-адÑÐµÑ Ð¿Ð¾Ñле него обознаÑÐ°ÐµÑ Ð¿ÑивÑзаннÑй адÑÐµÑ Ñ ÑдалÑнной ÑÑоÑонÑ, к коÑоÑÐ¾Ð¼Ñ Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑаеÑеÑÑ, в данном ÑлÑÑае ÑÑо localhost (и ÑÑо же знаÑение по ÑмолÑаниÑ). ÐÑоÑое ÑиÑло, 5432 â поÑÑ Ñ ÑдалÑнной ÑÑоÑÐ¾Ð½Ñ ÑÑннелÑ, Ñо еÑÑÑ Ð¿Ð¾ÑÑ Ð²Ð°Ñего ÑеÑвеÑа баз даннÑÑ
. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ ÑеÑвеÑÑ ÑеÑез ÑозданнÑй ÑоннелÑ, нÑжно подклÑÑиÑÑÑÑ Ðº поÑÑÑ 63333 на локалÑном компÑÑÑеÑе:
psql -h localhost -p 63333 postgres
ÐÐ»Ñ ÑеÑвеÑа баз даннÑÑ
ÑÑо бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ñак, как бÑдÑо Ð²Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ joe компÑÑÑеÑа foo.com, подклÑÑаÑÑийÑÑ Ðº адÑеÑÑ localhost, и он бÑÐ´ÐµÑ Ð¿ÑименÑÑÑ ÑÑ Ð¿ÑоÑедÑÑÑ Ð¿ÑовеÑки подлинноÑÑи, коÑоÑÐ°Ñ ÑÑÑановлена Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений данного полÑзоваÑÐµÐ»Ñ Ðº ÑÑÐ¾Ð¼Ñ Ð¿ÑивÑÐ·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ. ÐамеÑÑÑе, ÑÑо ÑеÑÐ²ÐµÑ Ð½Ðµ бÑÐ´ÐµÑ ÑÑиÑаÑÑ Ñакое Ñоединение заÑиÑÑннÑм SSL, Ñак как на Ñамом деле ÑÑаÑик Ð¼ÐµÐ¶Ð´Ñ ÑеÑвеÑом SSH и ÑеÑвеÑом Postgres Pro не заÑиÑÑн. ÐÑо не должно неÑÑи какие-Ñо дополниÑелÑнÑе ÑиÑки, Ñак как ÑÑи ÑеÑвеÑÑ ÑабоÑаÑÑ Ð½Ð° одном компÑÑÑеÑе.
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоеннÑй Ñаким обÑазом ÑÑÐ½Ð½ÐµÐ»Ñ ÑабоÑал, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº компÑÑÑеÑÑ ÑеÑез ssh под именем [email protected], Ñак же, как ÑÑо пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿Ñи ÑÑÑановлении ÑеÑминалÑного подклÑÑÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ssh.
ÐÑ Ñакже можеÑе наÑÑÑоиÑÑ Ð¿ÐµÑенапÑавление поÑÑов пÑимеÑно Ñак:
ssh -L 63333:foo.com:5432 [email protected]
Ðо в ÑÑом ÑлÑÑае Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ ÑеÑвеÑа подклÑÑение бÑÐ´ÐµÑ Ð¿ÑиÑ
одиÑÑ Ð½Ð° его ÑеÑевой адÑÐµÑ foo.com, а он по ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ пÑоÑлÑÑиваеÑÑÑ (вÑледÑÑвие ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ listen_addresses = 'localhost'). ÐбÑÑно ÑÑебÑеÑÑÑ Ð´ÑÑгое поведение.
ÐÑли вам нÑжно «пеÑейÑи» к ÑеÑвеÑÑ Ð±Ð°Ð· даннÑÑ ÑеÑез некоÑоÑÑй ÑлÑз, ÑÑо можно оÑганизоваÑÑ Ð¿ÑимеÑно Ñак:
ssh -L 63333:db.foo.com:5432 [email protected]
ÐамеÑÑÑе, ÑÑо в ÑÑом ÑлÑÑае ÑÑаÑик Ð¼ÐµÐ¶Ð´Ñ shell.foo.com и db.foo.com не бÑÐ´ÐµÑ Ð·Ð°ÑиÑÑн ÑÑннелем SSH. SSH пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ Ð´Ð¾Ð²Ð¾Ð»Ñно много ваÑианÑов конÑигÑÑаÑии, ÑÑо позволÑÐµÑ Ð¾ÑганизовÑваÑÑ Ð·Ð°ÑиÑÑ ÑеÑи ÑазнÑми ÑпоÑобами. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº докÑменÑаÑии SSH.
ÐодÑказка
СÑÑеÑÑвÑÑÑ Ð¸ дÑÑгие пÑиложениÑ, коÑоÑÑе могÑÑ ÑоздаваÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑе ÑÑннели, пÑименÑÑ Ð¿Ð¾ ÑÑÑи ÑÐ¾Ñ Ð¶Ðµ Ð¿Ð¾Ð´Ñ Ð¾Ð´, ÑÑо бÑл опиÑан вÑÑе.