Не удается подключиться к удаленному серверу AzureDB через туннель S SH - PullRequest
0 голосов
/ 25 марта 2020

Я хочу подключиться к удаленному серверу AzureDB (который имеет IP-адрес ip2 и имя хоста " ab c .database. windows. net") из мой локальный компьютер (который имеет IP-адрес ip1 ). Однако мой локальный хост не может напрямую получить доступ к серверу БД, поэтому для подключения мне пришлось использовать туннель S SH через сервер перехода (который имеет ip3 и может получить доступ к серверу AzureDB). Вот что я делал:

1, Создать S SH Туннель:

ssh -v -g -N -C -L local-port:**ip2**:1433 ssh-user@**ip3** -p 22

2, Подключиться к серверу БД

sqlcmd -S 127.0.0.1,local-port -U db-user@**abc**.database.windows.net -P password -d db-name

Но я получил ошибка:

Невозможно открыть сервер ' ab c', запрошенный при входе в систему. Клиент с IP-адресом ' ip1 ' не имеет доступа к серверу. Чтобы разрешить доступ, используйте портал управления Windows Azure или запустите sp_set_firewall_rule в базе данных master, чтобы создать правило брандмауэра для этого IP-адреса или диапазона адресов. Это вступление в силу может занять до пяти минут.

Я проверил туннельное соединение с te lnet, и ошибки не было обнаружено. Может кто-нибудь сказать мне, что не так с моей работой?

1 Ответ

0 голосов
/ 26 марта 2020

Если мы хотим получить доступ к удаленной базе данных Azure SQL, убедитесь, что вы добавили локальный IP ' ip1 ' в Azure SQL Брандмауэр сервера на портале:

enter image description here

Пожалуйста, попробуйте следующую команду:

ssh -L local_port:abc.database.windows.net:1433 db-user@abc.database.windows.net

sqlcmd -S 127.0.0.1,local-port -U db-user@**abc**.database.windows.net -P password -d db-name

Также укажите этот блог:

  1. Невозможно достичь базы данных SQL через туннель S SH с использованием sqlcmd
  2. Настройка туннелей S SH для соединений с базой данных

Надеюсь, это поможет.

...