Назад | Перейти на главную страницу

Ssh за статическим IP

Извините, если это дублируется, я просто не могу найти решение. Сценарий -

статический IP 125.22.25.241, который доступен из внешнего мира с помощью ssh.

Локальный IP 10.0.0.6 - локальный компьютер внутри сети статического IP, который содержит репозиторий git. /home/game/foobar.git

Мой вопрос: как с внешнего IP-адреса я могу использовать команды git для прямого взаимодействия с репозиторием git локального компьютера. что-то вроде этого .

git push admin@125.22.25.241:/home/game/foobar.git

У вас есть два варианта. Мои примеры основаны на TCP-порте собственного протокола Git. 9418, но то же самое можно изменить и для других типов репозиториев. Если у вас есть репозиторий, использующий порт SSH 22 и он уже занят, вы можете использовать ЛЮБОЙ внешний порт вместо этого с обоими этими методами.

  1. Настройте свой маршрутизатор, выполните порт вперед через NAT, то есть преобразовать внешний IP-адрес и порт во внутреннюю комбинацию, например 198.51.100.100:9418 -> 10.0.0.6:9418. (Похоже, что настройка перенаправления портов с использованием практически любого роутера собрана в одном месте, хотя вроде бы там много рекламы portforward.com. Я бы предпочел руководство пользователя вашего устройства.)

  2. Создать SSH туннель:

    ssh -L 9418:10.0.0.6:9418 user@198.51.100.100
    

    ... и используйте Git через этот туннель:

    git push admin@127.0.0.1:/home/game/foobar.git
    

Получите статическую подсеть IPv6. Назначьте хосту статический адрес и поместите его в публичный DNS. Разрешите протоколы git или ssh в вашем брандмауэре.