Подключитесь к серверу SSH через HTTP-прокси, используя plink и netcat
Я пытаюсь подключиться к SSH-серверу с ПК под управлением Windows через корпоративный HTTP-прокси.
Трюк работает под Debian с использованием OpenSSH клиента с ncat
из пакета nmap, но он не работает под Windows с Plink 0.70 + Ncat 7.70 ( https://nmap.org/). Замазка работает тоже хорошо, хотя использование чистого пллинка было бы лучше для меня.
Плинк имеет -proxycmd
вариант, который, похоже, похож на ProxyCommand
вариант в OpenSSH. Однако он не работает должным образом (SSH-сервер работает на порту 443):
plink.exe -C -ssh -P 443 -i my_pvt_key.ppk -proxycmd "ncat --verbose --proxy-type http --proxy 192.168.101.200:3128 %host %port" -sshlog sshlog.txt root@192.0.2.123
Команда немедленно возвращает "FATAL ERROR: Сервер неожиданно закрыл сетевое соединение".
Журнал шпаклевки:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2018.07.19 07:38:28 =~=~=~=~=~=~=~=~=~=~=~=
Event Log: Writing new session log (SSH packets mode) to file: sshlog.txt
Event Log: Starting local proxy command: ncat --verbose --proxy-type http --proxy 192.168.101.200:3128 port
Event Log: We claim version: SSH-2.0-PuTTY_Release_0.70
Event Log: Server unexpectedly closed network connection
Третья строка журнала сбивает с толку. В конце команды есть слово "порт", и оно должно быть заменено реальным портом. хозяин 192.0.2.123
вообще не показывается.
Команда ncat --verbose --proxy-type http --proxy 192.168.101.200:3128 192.0.2.123 443
само по себе вроде нормально работает. Таким образом, я полагаю, проблема в том, что Plink неправильно анализирует аргументы в команде ncat. Я, наверное, не прав.
Есть идеи как это исправить?
0 ответов
В Putty, в Configuration->Connection->Proxy, вы можете настроить HTTP-прокси напрямую, не используя ncat
,
В plink
Вы можете обратиться к конфигурации Putty. Текст справки говорит
"host" также может быть именем сохраненной сессии PuTTY
Так что просто позвоните plink
с сохраненной конфигурацией.
Спасибо, вопрос, я успешно в Window 10 1903 через open ssh, ниже моя команда:
ssh root@domain.com -o "ProxyCommand C:\Program Files (x86)\Nmap\ncat.exe --verbose --proxy-type http --proxy 127.0.0.1:10801 %h %p" -v
С plink: Release 0.71(64-bit), команда OP работает нормально, но cmd покажет некоторые не распознанные диаграммы без цвета. Лучше использовать Open SSH в Windows 10?
plink.exe -C -ssh -P 27158 -i C:\Users\xxx\.ssh\test.ppk -proxycmd "ncat --verbose --proxy-type http --proxy 127.0.0.1:10801 %host %port" root@xxx.xxx-sshlog sshlog.txt