Конфигурация PuTTY эквивалентна OpenSSH ProxyCommand

Я просто пытаюсь использовать PuTTY, чтобы получить SSH-соединение с моими серверами. Эти серверы разрешают входящее SSH-соединение только с другого определенного сервера ("MySshProxyingServer" в примере ниже).

При использовании Linux это не проблема с ssh -W команда.

В PuTTY я не могу найти варианты создания такой связи.

Пример под Linux (~/.ssh/config):

Host MyHostToConnectTo
    Hostname xx.xx.xx.xx
    User root
    Identityfile ~/.ssh/id_rsa
    ProxyCommand ssh MySshProxyServer -W %h:%p

Кто-нибудь знает, как использовать такой конфиг в PuTTY?

4 ответа

Решение

Эквивалентом в PuTTY является "команда локального прокси". Вы можете использовать plink.exe с -nc переключаться вместо ssh с -W переключатель:

PuTTY локальный прокси


Альтернатива - сначала открыть туннель через MySshProxyServer, используя другой экземпляр PuTTY (или Plink).

Смотрите, например:

На тот случай, если вы все еще используете пароль для своего jumphost, это вариант с примером.

plink.exe %user@%proxyhost -pw %pass -P %proxyport -nc %host:%port

Предположим, мы хотим, чтобы ssh172.16.0.21с помощью8.8.8.8

логин на обоих хостахjohn

путь к закрытому ключуC:\users\john\.ssh\private.ppk

.

      plink.exe -v -ssh %user@%proxyhost -P %proxyport -nc %host:%port   -i "c:\Users\john\.ssh\private.ppk"

PS

Если ваш закрытый ключ защищен паролем, вы должны дополнительно запустить конкурс и загрузить туда свой закрытый ключ.


PS

если вы хотите использовать командную строку только тогда:

      putty.exe -proxycmd "plink.exe john@8.8.8.8 -P 22 -nc 172.16.0.21:22 -i c:\Users\john\.ssh\private.ppk " john@172.16.0.21  -i c:\Users\john\.ssh\private.ppk

Когда вы хотите запустить putty.exe из командной строки, это работает следующим образом:

      putty.exe -proxycmd "plink.exe user@jumphost -P 22 -nc targethost:targetport" user@foo

Согласно документам, он использует stdin/stoutproxycmd, поэтому «foo» здесь подходит как целевое имя хоста.

Другие вопросы по тегам