Я нашел команду к непосредственно 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
работы опции в командной строке, но не в ожидают сценарий. Кто-либо может сказать мне почему?
Намного легче должен был бы настроить это в эти ~/.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