Я пытаюсь получить доступ к серверу Linux Ubuntu через SSH с клиентской машины Linux Ubuntu.
Когда клиент и сервер находятся в одной сети, все работает нормально. Когда я пытаюсь получить удаленный доступ к серверу через VPN (openVPN), полноэкранные приложения, такие как mc-midnight commander, отображаются некорректно, то есть я вижу только персонажа в правом верхнем углу представленного экрана, и, по-видимому, взаимодействие с клавиатурой не работает.
Кроме того, команда cat, примененная к простому текстовому файлу, завешивает терминал, не отображая никаких выходных данных.
Как ни странно, при доступе к тому же серверу через VPN с моего телефона на Android с использованием клиента Android OpenVPN и клиента Android SSH все работает нормально.
На моем клиентском компьютере Ubuntu переменная среды TERM установлена на "xterm-256color", на моем телефоне Android она установлена на "linux". Попытка установить ее на "linux" на моем клиенте Ubuntu перед запуском сеанса SSH работает, то есть в сеансе SSH я вижу, что терминал на самом деле установлен на "linux", но это не имеет никакого эффекта.
На клиенте Ubuntu я также пробовал подключиться через Putty, но результат тот же.
Есть ли какие-нибудь догадки о причине этого?
Заранее спасибо!
решение1
Ну, в конце концов я нашел решение этой проблемы, прочитав руководство OpenVPN, расположенное здесь:
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/
Проблема, по-видимому, была связана с некорректной работой обнаружения Path MTU.
«И --fragment, и --mssfix предназначены для обхода случаев, когда обнаружение Path MTU нарушено на сетевом пути между одноранговыми узлами OpenVPN.
Обычным симптомом такого сбоя является соединение OpenVPN, которое успешно запускается, но затем останавливается во время активного использования. Если --fragment и --mssfix используются вместе, --mssfix возьмет свой параметр max по умолчанию из опции --fragment max.
Таким образом, можно уменьшить максимальный размер пакета UDP до 1300 (хорошая первая попытка решения проблем соединения, связанных с MTU) с помощью следующих опций:
--tun-mtu 1500 --fragment 1300 --mssfix "
Добавление этих двух опций как на стороне сервера, так и на стороне клиента решило для меня проблему.
Надеюсь, это поможет.