С поддержкой midnight commander и полноценной эмуляцией xterm
Задача удаленного доступа к ssh своего домашнего сервера при закрытых портах, отличных от основного порта majordomo решается с помощью wetty https://github.com/krishnasrinivas/wetty
Наиболее удобно проект установить через docker
Установить docker
sudo apt-get install docker
docker pull svenihoney/wetty
docker run -dt -e REMOTE_SSH_SERVER=192.168.1.39 -e REMOTE_SSH_PORT=22 -e REMOTE_SSH_USER=pi -p 3000 --name term svenihoney/wetty
Далее можно посмотреть выделенный порт с помощью команды:
docker port term 3000
и получить доступ в консоль через адрес http://DockerHostIP:PORT
Далее нужно сконфигурировать виртуальный хосты на сервере:
nginx.conf:
location /wetty {
proxy_pass http://127.0.0.1:3000/wetty;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 43200000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
apache.conf:
RewriteCond %{REQUEST_URI} ^/wetty/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /wetty/socket.io/(.*) ws://localhost:9123/wetty/socket.io/$1 [P,L]
<locationmatch>
DirectorySlash On
Require all granted
ProxyPassMatch http://127.0.0.1:9123
ProxyPassReverse /wetty/
</locationmatch>
Альтернатива shellinabox https://code.google.com/archive/p/shellinabox/wiki...
Екатеринбург, Россия
На форуме: directman66