Я использую Mac OS X 10.6.2, пытаясь подключиться к серверу ubuntu 8.04.1 в linode.
ssh -L 127.0.0.1:3306:[[remote ip]]:3306 user@server -N
Я хочу настроить ssh-туннель, чтобы иметь доступ к удаленному серверу mysql.
Прежде всего, мне сказали bind: Address already in use
. Это только после того, как я попробовал эту команду раньше. Как закрыть сеанс переадресации портов вручную?
Во-вторых, когда я меняю команду на ssh -L 127.0.0.1:3310:[[remote ip]]:3306 user@server -N
(Я изменил локальный порт для прослушивания). Мне сказали channel 1: open failed: connect failed: Connection refused
когда я пытаюсь подключиться к серверу MySQL через MySQL workbench или sequel pro.
Для подключения через MySQL workbench я использую следующие настройки:
Это должно работать:
ssh -L 3310:127.0.0.1:3306 user@server
Первый номер порта - это локальный порт, который нужно использовать (уже не должен использоваться), IP-адрес между двоеточиями - это IP-адрес для подключения с точки зрения хоста, на который вы подключаетесь. Второй номер порта - это порт для подключения. Если вы подключаетесь к серверу, отличному от того, на который вы подключаетесь, попробуйте следующее:
ssh -L 3310:<remote-IP>:3306 user@server
Обычно, когда я хочу сделать это более одного раза, я создаю запись в ~ / .ssh / config, как показано ниже, где sshhost.example.com - это сервер, на который я подключаюсь, локальный порт, который я хочу открыть, - 5910 , IP на другой стороне, к которой я хочу подключиться, - 192.168.35.69, а порт, к которому я хочу подключиться, - 5900:
Host desk
Hostname sshhost.example.com
User jed
Port 22
LocalForward 5910 192.168.35.69:5900
Затем из командной строки я могу просто сделать
jed@jed-mbp:~$ ssh desk
и получить туннель к моему рабочему столу в офисе.
Удачи,
--джед
В настоящее время на Mac OS Catalina -N
аргумент необходим, чтобы избежать регулярного входа в систему, поэтому обновленная команда будет:
ssh -N -L 5984:127.0.0.1:5984 user@server.net