Я намагаюся тунель до сервера через мостовий сервер. Поки що я міг змусити його правильно працювати з командної оболонки, використовуючи таку команду:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
Але я намагався зафіксувати це у своєму ~/.ssh/config
файлі, і у мене є проблеми. Я спробував:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
Але коли я це роблю, я отримую таке повідомлення про помилку, remoteserver.com
і я не впевнений, що його викликає:
ksh: SSH-2.0-OpenSSH_6.8 ^ M: не знайдено
Я знаю, що коли я входжу remoteserver.com
, моя оболонка є /usr/bin/ksh
.
Я намагався додати аргументи шляху до команд ssh у файлі config, але це не мало значення.
Будь-які ідеї, що це може бути?
ssh -A remote_userid@remoteserver.com
команду для запуску на мостовій машині, config не дає вам можливості подавати команди за замовчуванням. Що ви намагаєтеся зробити works
в собі, але потім ssh намагається використовувати ваш ProxyCommand
як тунель і починає запускати протокол SSH вниз там, де на іншому кінці чекає оболонка, а не sshd, слухаючи протокол SSH.
ProxyCommand
призначено використовувати. Зазвичай він використовується з netcat, де ssh трубопроводить свій вихід через нього, а netcat виконує роль тунелю до порту SSH віддаленого сервера . Вам потрібен ProxyCommand на кшталт,ssh -W %h:%p bridge_userid@bridgemachine.com
якщо ви хочете використовувати цю функцію.