Ранее я спрашивал, как настроить 2 SSH-туннеля с использованием промежуточного сервера для запуска через них удаленного рабочего стола, и мне удалось заставить его работать. Сейчас я пытаюсь сделать то же самое, используя те же машины, но в обратном порядке. Вот настройки:
- Windows 7 ПК в частной сети, сидит за брандмауэром.
- Сервер открытого доступа Linux, который имеет доступ к ПК.
- Windows 7 ноутбук, дома, на котором я хочу сделать удаленный рабочий стол с ПК.
Я использую замазку на ноутбуке , чтобы создать обратный туннель от него на сервер Linux: R60666 localhost:3389
.
Я использую замазку на компьютере , чтобы создать регулярный тоннель от него на сервер Linux: L60666 localhost:60666
.
Я подключаюсь к серверу Linux по SSH и запускаю telnet localhost 60666, и кажется, что он дает ожидаемый результат, как описано в советах по отладке, которые я получил здесь .
Я пытаюсь подключиться к удаленному рабочему столу с ПК на ноутбук: localhost:60666
. Он запрашивает мое имя пользователя и пароль, я нажимаю кнопку ОК, и он блокирует мой текущий сеанс на ноутбуке (поэтому вместо экрана рабочего стола я вижу экран приветствия на ноутбуке), на экране удаленного рабочего стола отображается сообщение «Добро пожаловать», а затем это просто становится черным. Он не отключается, не выдает никаких ошибок, и я не могу выполнять какие-либо действия на экране удаленного рабочего стола. Я попытался сделать то же самое с ноутбуком с Windows XP, и у меня появились те же симптомы. Я также пытался использовать порты, отличные от 60666, но ничего не изменилось. Кто-нибудь знает, что я делаю не так?
Обновление : как указал @jwinders, я не могу работать telnet PC 3389
с сервера Linux напрямую. Поскольку в брандмауэре Windows есть правило, разрешающее все подключения через порт 3389, я понятия не имею, что его блокирует. К счастью, я могу создать SSH-туннель от компьютера Linux к ПК ssh 3389:localhost:3389 'domain\user'@PC
.
источник
Ответы:
Сегодня я столкнулся с той же проблемой черного экрана + отключение, используя в качестве клиента замазку. Я нашел решение в конце концов.
Я переключился с putty на bitvise tunnelier и установил
S2C
соединение со следующими настройками:По случайности я использую на своем сервере bitvise ssh-сервер, так что это может быть просто удачной комбинацией для двух продуктов одного и того же производителя. Было бы здорово, если бы это решило проблемы для других.
К слову, я никак не связан с этими парнями.
источник
Я не вижу ничего плохого в ваших SSH-туннелях. Подключение к localhost: 60666 на ПК должно закончиться на localhost: 3389 на ноутбуке. И тот факт, что вы получаете экран входа в систему подтверждает эту оценку.
Немного погуглив на пустом экране, я познакомился с этой статьей базы знаний Microsoft: http://support.microsoft.com/kb/555840 . В нем говорится, что пустой экран может быть из-за возможных несоответствий размера MTU:
Учитывая достаточное количество сетевых переходов, брандмауэров и всего, что у вас есть, фрагментация пакетов весьма вероятна :) Большинство машин Windows по умолчанию используют MTU 1300, в то время как большинство Linux-боксов имеют 1500 (максимально допустимое значение для ЛВС, без учета кадров большого размера) ). Вы можете попробовать уменьшить их, чтобы уменьшить фрагментацию.
Смотрите также:
источник
netsh interface ipv4 show subinterfaces
) иping linux_server -f -l 1472
преуспевают на обеих машинах. В качестве теста я попытался установить MTU на ПК на 1300, но это не помогло. Я также пытался изменить его на ноутбуке, но безрезультатно :( Мне интересно, есть ли какой-нибудь "умный" способ отладки этой проблемы ...Разве VPN не будет более подходящим? OpenVPN очень прост в настройке. Вот пример конфигурации и некоторые ссылки, которые помогут вам в процессе создания сертификата.
Просто настройте посредника в качестве хоста, и гости смогут дозвониться и по-прежнему общаться друг с другом.
Затем создайте новый файл
/etc/openvpn/client_server.conf
и вставьте в него следующее, изменивSERVER_IP_ADDRESS
соответствующим образомЗатем создайте ключ для пользователя, который будет подключаться, и создайте файл конфигурации в директории ccd.
IP-адрес ДОЛЖЕН быть подходящим для подсети / 30 (см. Http://www.subnet-calculator.com/cidr.php ), поскольку для каждого соединения доступно только 2 адреса (сервер и клиент). Таким образом, ваш следующий доступный IP-адрес клиента будет 192.168.100.6 и так далее.
Тогда у вас теперь есть статические IP-адреса для каждого подключающегося пользователя.
Затем предоставьте
the user1@domain.com.p12
файл конечному пользователю и используйте следующий файл конфигурацииисточник
Если вы запускаете сеанс ssh в учетной записи пользователя (используя программу, такую как putty.exe), при попытке войти через rdp это соединение будет нарушено, что приведет к разрыву сеанса rdp. Вам нужно запустить ssh-туннель как сервис, который не будет прерван.
источник
я думаю, что вы можете сделать все конф с вашего ноутбука
установить соединение замазки к коробке linux на вашем ноутбуке. затем в «connection»> «SSH»> «tunnels» поместите 60666 в поле «source port» и убедитесь, что выбран переключатель «Local». в «пункте назначения» вы вводите win7-box-name-or-ip: 3389.
сохраните все это, и это позволит вам открыть сеанс putty для linux-box, который автоматически создает туннель, перенаправляющий трафик на localhost (ваш ноутбук): 60666 на win7: 3389
если вы делаете это в командной строке, это должно быть что-то вроде
источник
ssh 3389:localhost:3389 'domain\user'@PC
а затемtelnet localhost 3389
на Linux.Я обнаружил, что до тех пор, пока все пользователи не будут полностью отключены от компьютера, я получу пустой экран после ввода учетных данных. Поэтому убедитесь, что вы всегда выходите из системы.
источник