Как обратиться к удаленному сервису, который слушает только свою внутренюю сеть?
Я арендовал удаленный сервер с графическим ускорителем для экспериментов с LLM. К серверу имею доступ по ssh по некому адресу yyy.yyy.yyy.yyy. При получении сервера в аренду получаю инфу, что для изолированного доступа я могу обращаться к серверу еще по какому-то адресу yyy.yyy.yyy.zzz только с некоторого конкретного адреса zzz.zzz.zzz.zzz. Что такое изолированный доступ - не понятно. Документации ноль, техподдержка ничего внятно объяснить не может. Но цены на GPU очень хорошие, и по ssh из командной строки все работает. Внутри сервера ifconfig показывает свой адрес только во внутренней сети (192.168.xxx.xxx).
Хочу развернуть на сервере сервис ollama для работы с LLM извне внутренней сети арендованного сервера. Инструкция по api сервиса ollama говорит, что обращаться к нему нужно так:
curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt": "Why is the sky blue?" }'
Хочу обращаться к сервису со своего рабочего места так: curl http://yyy.yyy.yyy.yyy:8181/api/generate -d '{ "model": "llama3", "prompt": "Why is the sky blue?" }' где yyy.yyy.yyy.yyy - адрес, по которому я могу обращаться к арендованному серверу по ssh
Насколько я понимаю, мне нужен ssh-туннель, но как его в моем случае сделать я, читая всякие статьи, так и не понял. На stackoverflow есть похожий вопрос, но, кажется, про другое.
Пробовал так:
- Поднял сервис ollama так, чтобы он слушал localhost:11434 Локально сервис работает.
- На арендованном сервере ввел команду
ssh -R 8181:localhost:11434 [email protected]
Выдает ошибку
ssh: Could not resolve hostname 8181:localhost:11434: Name or service not known
Как сделать правильно?
Ответы (1 шт):
обращаться к нему нужно так:
curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt": "Why is the sky blue?" }'
запустите socks5-прокси и обращайтесь ровно с теми же параметрами программы curl:
$ all_proxy=socks5://localhost:порт curl http://localhost:11434/api/generate ...
где порт
- это тот самый порт, который вы указали опцией -D
программы ssh:
$ ssh -D порт ...