ожидайте сценарий к scp через промежуточный хост

Я нашел команду к непосредственно scp мой файл к хосту (C) через другой хост (B) от моего компьютера. Команда находится в этой форме:

scp -oProxyCommand="ssh -W %h:%p B" thefile C:destination

Я использовал его, и это работает хорошее в командной строке. но когда я хочу записать ожидать сценарий с помощью этой команды, я получил некоторые ошибки. сценарий, который я записал, находится в этой форме:

#!/usr/bin/expect

set arg1 [lindex $argv 0]

spawn scp -oProxyCommand="ssh -W %h:%p B" ./$arg1 C:destination 

interact

и ошибка:

unknown option -- W 

W работы опции в командной строке, но не в ожидают сценарий. Кто-либо может сказать мне почему?

1
задан 10 June 2017 в 05:52

1 ответ

Намного легче должен был бы настроить это в эти ~/.ssh/config, где Вы не должны заботиться о синтаксисе ожидать сценариев и его проблем с аргументами. Создайте ~/.ssh/config с этим содержанием:

Host C
  ProxyCommand ssh -W %h:%p B

и затем соединяют просто использование

spawn scp ./$arg1 C:destination

Или просто используют упрощенную версию с помощью ProxyJump опция:

spawn scp -oProxyJump=B ./$arg1 C:destination 
1
ответ дан 7 December 2019 в 15:34

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

Похожие вопросы: