В предстоящем проекте у меня есть два сервера: один - это сервер приложений, а другой, уже существующий, запускает сервер mysql с базами данных, к которым мне нужно получить доступ. Я связался с администратором сервера mysql, и единственный способ получить доступ к удаленным базам данных mysql - через «туннель SSH». Я никогда не делал этого раньше и никогда не слышал об этом до сих пор, поэтому мой вопрос, есть ли какие-либо недостатки, т.е. грамм. по производительности? Разве это не довольно медленно по сравнению с прямым доступом к серверу mysql через порт по умолчанию?
Для клиентского доступа это отличная рекомендация, а не отправка трафика базы данных в виде обычного текста через Интернет. Вы также рискуете данными аутентификации. Накладные расходы не больше, чем при любом другом сеансе SSH.
Для доступа к приложению я бы рекомендовал MySQL через SSL вместо.
Со стороны администратора вы теряете возможность ограничивать доступ для каждого хоста из mysql, поскольку mysql будет видеть все соединения с вашего хоста отказов. Вы получаете более мощные параметры контроля аутентификации от сервера sshd.
Со стороны клиента вы должны убедиться, что туннель открыт, когда вашим приложениям требуется соединение. Если вам это нужно в течение длительного периода времени, вам, возможно, придется поиграть с ssh keepalives + запустить фиктивные приложения через ssh-соединение, чтобы вы не выходили из системы автоматически.