Я установил GitLab в докер на удаленной машине. Теперь я хотел бы перенаправить порт 8080 с этой удаленной машины на мой локальный порт 8080.
На дальней машине:
sudo docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 8080:80 --publish 2222:22 --name gitlab --restart always --volume $GITLAB_HOME/config:/etc /gitlab --volume $GITLAB_HOME/logs:/var/log/gitlab --volume $GITLAB_HOME/data:/var/opt/gitlab gitlab/gitlab-ce:latest
На моей локальной машине:
ssh -N -o "ExitOnForwardFailure yes" -R 8080:localhost:8080 someuser@the-distant-server -vvv
Я получаю следующую ошибку:
debug1: залог: сеть
debug3: получить пакет: введите 80
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug3: получить пакет: тип 4
debug1: Удаленный: /home/someuser/.ssh/authorized_keys:1: параметры ключа: агент-переадресация переадресация портов pty user-rc x11-forwarding
debug3: получить пакет: введите 82
debug1: сбой удаленной переадресации для: прослушать 8080, подключиться к локальному хосту: 8080
Ошибка: сбой переадресации удаленного порта для порта прослушивания 8080
И действительно, в /var/log/auth.log
, я получаю следующую ошибку:
9 июля 16:51:42 удаленный сервер sshd[2723782]: Принят открытый ключ для некоторого пользователя с порта 192.168.200.182 44850 ssh2: RSA SHA256:
9 июля 16:51:42 удаленный сервер sshd[2723782]: pam_unix(sshd:session): сеанс открыт для пользователя someuser пользователем (uid=0)
9 июля 16:51:42 удаленный сервер systemd-logind[1083]: новый сеанс 116923 пользователя someuser.
9 июля 16:51:42 удаленный сервер systemd[2723795]: pam_unix(systemd-user:session): сеанс открыт для пользователя someuser пользователем (uid=0)
9 июля 16:51:43 удаленный сервер sshd [2723812]: ошибка: привязка [127.0.0.1]: 8080: адрес уже используется
9 июля 16:51:43 удаленный сервер sshd [2723812]: ошибка: channel_setup_fwd_listener_tcpip: невозможно прослушать порт: 8080
9 июля 16:51:43 удаленный сервер sshd[2723782]: pam_unix(sshd:session): сеанс закрыт для пользователя someuser
9 июля 16:51:43 удаленный сервер systemd-logind[1083]: сеанс 116923 вышел из системы. Ожидание завершения процессов.
9 июля 16:51:43 удаленный сервер systemd-logind[1083]: удален сеанс 116923.
Это говорит мне bind [127.0.0.1]:8080: адрес уже используется
.
- Я не понимаю, как я могу слушать порт 8080 с удаленной машины, если ни один процесс не может писать на него. Я думаю, что у меня неправильное понимание того, как здесь работают порты/прослушивание/запись/ssh.
- Как я могу исправить
ssh
чтобы заставить этот туннель работать и получить доступ к экземпляру GitLab на моем 127.0.0.1:8080
?