Комментарии 13
Даже делал такое намедни. Вот пример (не мой) как это сделать: https://github.com/leihaiyong/MiniWebSSHServer
Там, правда, маленькая ошибка в коде есть, из-за чего соединение рвётся, но суть ясна. Однако, так не сделаешь VPN. Но было бы любопытно увидеть websocket-based впн :)
Последний раз пользовался https://github.com/tsl0922/ttyd. Также положительный опыт с https://github.com/stuicey/SSHy. Список подобного обычно можно посмотреть https://xtermjs.org/ и выбирать по разным параметрам
Еще есть guacamole, который может быть терминалом и для ssh и для rdp и тд
Мне всегда казалось, что аренда какого-нибудь (виртуального) сервера где-то "там" всегда подразумевает наличие аварийного доступа через какой-нибудь VNC, и с терминалом как раз через сайт провайдера подобного рода услуг.
То есть, ровно то, что и предлагается тут.
Если работать только самому и только со своего компьютера, то разница небольшая (надо сравнивать, что быстрее, возможно этот вариант, поскольку там передаётся текст, а не изображение). Но если надо дать доступ другим людям или если требуется зайти с чужого компьютера (допустим, используя отдельный аккаунт, компрометация которого не вызовет серьёзных последствий), то использовать доступ через панель управления аккаунтом у провайдера — значит дать возможность посторонним зайти в систему как администратор (или вообще удалить все виртуальные машины). Даже если для доступа к экрану виртуальной машины используется пароль, отличный от пароля к панели управления хостингом, всё равно можно перезагрузить виртуальную машину, изменить настройки GRUB (init=/bin/bash и т.д.) и войти в систему без пароля.
В общем, данный вариант безопаснее.
В такой ситуации наиболее эффективным транспортным протоколом для администрирования является авиационный.
Достаточно перевезти администратора в страну, где ssh работает, и проблема блокировки ssh решена.
Уже давно использую webmin для всех серверов по умолчанию. Кроме ssh на https имеет кучу приятных плюшек.
Shellinabox — если вдруг заблокируют SSH