Я предположил бы, что проблема состоит в том, что удар мерзавца знает для поиска открытого ключа в корневом каталоге, но поле DOS не делает.
Существуют, я думаю, несколько опций, доступных Вам (ни один из которого я попробовал, так как у меня нет поля Windows для вручения):
pageant
(Я предполагаю, что Вы не, так как Вы не сказали, что были), и что у Вас есть тот загруженный закрытый ключ.GIT_SSH
переменная среды к чему-то, что указывает местоположение закрытого ключа - я предположил бы, что содержание должно, вероятно, быть чем-то как plink -i c:/Users/myName/.ssh
.Небольшое предложение: может быть, вы можете использовать прокси вместо пересылки iptables? Вы можете добавить заголовок X-Forwarded-For, и ваши журналы доступа будут показывать правильный IP-адрес.
Удалите строку
iptables -t nat -A POSTROUTING -d 2.2.2.2 -j MASQUERADE
, в которой адрес источника переписывается на сервер A ( 2.2.2.2
). Вы можете обнаружить, что его удаление нарушает любое количество других вещей, но эта строка в настоящее время выполняет то, что, по вашему мнению, вы не хотите делать.
Edit : как я сказал, " вы можете обнаружить, что удаление этого ломает множество других вещей ". Особенно, если окажется, что реальный адрес ПК A, реальный адрес сервера B или оба являются адресами RFC1918 (то есть частными адресами из диапазонов 10/8, 172.16 / 12 и 192.168 / 16), тогда вам придется выяснить, как исключить эту пробивку из NAT, не нарушая NAT для всего остального, и разобраться с маршрутизацией для возвращаемого половинного трафика, для чего вполне может потребоваться root на сервере B.