У меня есть админка на сайте, доступ к которой я хотел бы ограничить. Я думал, например, о создании виртуального хоста и привязке к порту 9090. Доступ к этому порту будет предоставлен только localhost.
Есть ли способ после того, как все вышесказанное будет выполнено, для любого из пользователей, у которых есть ssh-доступ к серверу, получить доступ к этой области администрирования с помощью ssh-туннелирования, SOCKS или чего-либо еще, что выполняет свою работу?
Да, вы можете получить доступ к области через SSH при подключении к хосту. Вы также можете получить доступ к области с самого localhost, что означает, что каждый пользователь на сервере имеет доступ (если не установлены другие ограничения).
Если вас это устраивает, просто запустите putty (клиент ssh для Windows) и измените Подключение> SSH> Туннели. Под Исходный порт введите «удаленный» порт (в вашем случае 9090). Под Место назначения вы вводите (например) локальный: 9090. Затем вы можете получить доступ к области, набрав http: // локальный: 9090 / имя-области /. Просто используйте другой порт на своей стороне, если 9090 уже привязан локально.
Для аналогичной настройки я использую следующее:
ssh -X -N -R 8888:localhost:22 someuser@public_server_ip_or_domain
Если вы выполните эту команду на сервере администратора, он создаст туннель ssh между портом 8888 общедоступного сервера и портом 22 сервера администратора. А затем вы можете получить доступ к частному серверу с помощью следующей команды ssh:
ssh -p 8888 user_of_admin_site@public_server
Обратите внимание, что по моему опыту туннель продолжал закрываться через некоторое время, возможно, вы можете попробовать этот.
Обратите внимание, что для работы этого туннеля вам понадобится следующая опция в файле / etc / sshd_config public_server
GatewayPorts yes