переадресация порта ssh через псевдотерминал

переадресация порта ssh через псевдотерминал

Вот ситуация:

Я всю работу выполняю на Mac.

  1. Есть определенный сервер Linux.сервер01' который обеспечивает доступ к другому серверу Linux 'сервер02' через псевдотерминал

    Итак, чтобы войти по ssh в 'сервер02', я делаю это со своего Mac:

    ssh -t server01 'inline server02'
    
  2. Затем он просит меня ввести пароль для 'сервер01'; Я ввожу его, и это позволяет мне войти в систему 'сервер02'. Теперь я нахожусь на 'сервер02' Терминал.

  3. От 'сервер02«Я могу получить доступ к базе данных MySQL, которая находится на»сервер03' используя следующую команду mysql:

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. Ни один 'сервер01' ни 'сервер02' ни у моего Mac нет доступа по SSH к 'сервер03'

Теперь я хочу получить доступ к mysql на 'сервер03' с моего mac напрямую через какой-то переадресацию портов. Так что, если я введу следующую команду на моем терминале mac, она должна подключить меня к базе данных mysql на 'сервер03':

mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb

Есть ли способ это сделать? Любая помощь будет высоко оценена.

решение1

Если вы можете подключиться по ssh к server02 с server01, вы можете попробовать

ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02' 

это будет цепочка соединений

локальный хост:4201 -> сервер02:4201 -> сервер03:4201

просто подключается локально к порту4201на макинтоше

Лучше использовать аутентификацию по ключу и ssh-agent, чтобы избежать ввода паролей.

Связанный контент