← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-tunnel / use-cases / ssh
Подключение к SSH с помощью cloudflared на стороне клиента
Конечные пользователи могут подключаться к серверу SSH без Cloudflare One Client, проходя аутентификацию через cloudflared в собственном терминале. Для этого способа необходимо иметь cloudflared установлен как на серверной, так и на клиентской машине, а также активная зона на Cloudflare. Трафик проксируется через это соединение, и пользователь входит на сервер с учётными данными Cloudflare Access.
На стороне клиента cloudflared можно использовать вместе с Cloudflare One Client и Access for Infrastructure чтобы к серверу можно было подключаться несколькими способами. При настройке каждого способа подключения можно использовать один и тот же Cloudflare Tunnel.
1. Подключите сервер к Cloudflare
-
Создайте Cloudflare Tunnel, следуя нашему руководство по настройке в панели управления.
-
В панели управления Cloudflare перейдите в Сеть > Tunnels и выберите свой туннель.
Перейдите в Tunnels ↗ -
На Маршруты вкладке выберите Добавить маршрут, затем выберите Опубликованное приложение.
-
Выберите домен из раскрывающегося списка и укажите любой поддомен (например,
ssh.example.com). -
Для Сервис, выберите SSH и введите
localhost:22. Если SSH-сервер находится на другой машине, отличной от той, где установлен туннель, введите<server IP>:22. -
Выберите Добавить маршрут.
-
(Рекомендуется) Добавьте приложение с самостоятельным хостингом к Cloudflare Access, чтобы управлять доступом к своему серверу.
2. Подключитесь как пользователь
-
Установка
cloudflaredна клиентской машине. -
Внесите разовое изменение в файл конфигурации SSH:
vim ~/.ssh/config -
Введите следующие значения, заменив
ssh.example.comс именем хоста, которое вы создали.Host ssh.example.com ProxyCommand /usr/local/bin/cloudflared access ssh --hostname %hcloudflaredпуть может отличаться в зависимости от вашей ОС и менеджера пакетов. Например, если вы установилиcloudflaredна macOS с помощью Homebrew, проверьте его путь, выполнивbrew --prefix cloudflared. -
Теперь можно проверить подключение, выполнив команду для обращения к службе:
ssh <username>@ssh.example.comПри выполнении команды
cloudflaredоткроет окно браузера и предложит вам пройти аутентификацию у вашего поставщика идентификации перед установлением соединения из терминала.