Я пытаюсь настроить автоматическое переключение SSH через сервер, на котором нет nc.
Это работает из командной строки:
ssh -A gateway ssh steve@target
(Я добавил свой открытый ключ к агенту SSH).
Однако добавление его в ~ / .ssh / config не делает:
Host target
User steveb
ProxyCommand ssh -A gateway ssh steve@targetip
$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
^CKilled by signal 2.
Попытка навязать эту проблему -t
забавна, но бесполезна.
ProxyCommand ssh -A -t gateway ssh steve@targetip
$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.
^CKilled by signal 2.
Больше -t
? Не хорошо.
ProxyCommand ssh -A -t -t gateway ssh steve@targetip
$ ssh target
tcgetattr: Inappropriate ioctl for device
^CKilled by signal 2.
Это возможно? Большинство учебных пособий (например, http://www.arrfab.net/blog/?p=246 ) предлагают использовать nc
.
ssh
rhel
configuration
tty
Стив Беннетт
источник
источник
Ответы:
SSH ProxyCommand без netcat
ProxyCommand очень полезен, когда узлы доступны только косвенно. С netcat это относительно прямолинейно:
Здесь {gw} и {хост} являются заполнителями для шлюза и хоста.
Но это также возможно, когда netcat не установлен на шлюзе:
/ Dev / tcp является встроенной функцией стандартного bash. Файлы не существуют. Чтобы проверить, есть ли в bash эта функция, используйте:
... на воротах.
Чтобы убедиться, что используется bash, используйте:
И это даже работает вместе с ControlMaster.
(Обновлено 22 октября, добавлено kill, чтобы очистить фоновую кошку) (Обновлено 3 марта 2011, чтобы сделать заполнители более понятными и объяснить / dev / tcp)
100% скидка для Ролана Шульца. Вот источник:
http://www.rschulz.eu/2008/09/ssh-proxycommand-without-netcat.html
см. Более полезную информацию в комментариях.
Здесь также есть больше:
http://www.linuxjournal.com/content/tech-tip-tcpip-access-using-bash
http://securityreliks.securegossip.com/2010/08/enabling-devtcp-on-backtrack -4r1ubuntu /
ОБНОВЛЕНИЕ : вот что-то новое от Марко
В отношении ProxyCommand в ~ / .ssh / config, где есть строка, подобная этой:
Марко говорит:
Результат будет выглядеть так:
источник
Большой Т, не маленький т.
Мой скрипт возвращал это сообщение и больше не работает.
Я использую
authorized_key
на other_system, чтобы заставить это выполнить команду:источник
Попробуйте это:
источник
-t
в обоих связях, и я видел это в неправильном. Я отредактировал свой ответ.Вы можете попробовать следующую технику ssh'ing на server1 с последующим ssh'ing на server2.
Делать так, как это работает для меня.
источник