Можно ли как-то (желательно легко) скрыть трафик ssh от пакета, проверяющего брандмауэр. Я подумал о том, чтобы встроить сессию ssh в безвредно выглядящий сеанс TLS. Я узнал, что это возможно с помощью socat, но я понятия не имею, как это запустить. У меня есть полный доступ администратора на клиенте и сервере ssh, но решение в пользовательском пространстве, конечно, было бы самым хорошим :-)
В случае, если кто-то знает о socat
, вот что я попробовал (но мне также любопытны другие решения):
сервер:
socat OPENSSL-LISTEN:10000,fork,cipher=aNULL,verify=0 TCP-CONNECT:localhost:22
клиент:
ssh -o ProxyCommand='socat STDIO OPENSSL-CONNECT:%h:10000,cipher=aNULL,verify=0' theserver
serverlog:
socat[27898] E SSL_accept(): Success
socat[27897] E exiting on signal 11
clientlog:
socat[15953] E SSL_connect(): error:141640B5:SSL routines:tls_construct_client_hello:no ciphers available
ssh_exchange_identification: Connection closed by remote host
Согласно справочной странице, aNull не должен вызывать эту ошибку.
Обновление: благодаря гравитации туннель успешно установлен. После этого у меня возникли проблемы с обнаружением, что соединения с localhost были заблокированы (настроено в /etc/hosts.allow). Но сейчас работает нормально. Благодарю.