Я на vpn. Я ssh к машине через другую машину вот так
ssh -A -t -l bob 192.16.4.9 ssh -A -t узел-17
Теперь мне нужно скопировать файл из узла 17: / tmp / something.
Как я могу сделать это за один шаг? На других узлах не осталось места, чтобы переместить его в первую очередь. Я должен добавить, что открытые ключи используются для аутентификации между 192.168.4.9 и node-17
Спасибо
Вместо SCP вы можете просто cat
файл на удаленном компьютере и сохраните результат локально.
ssh -A -t -l bob 192.16.4.9 ssh -A -t node-17 cat /tmp/something > /local/copy/of/something
Вы также можете использовать это в другом направлении, чтобы загрузить файл на удаленный компьютер, но с дополнительным прыжком потребуется несколько творческих цитат в командной строке:
ssh -A -t -l bob 192.16.4.9 'ssh -A -t node-17 "cat > /tmp/new-file"' < /local/copy/of/new-file
Я не уверен насчет -t
варианты, но я думаю, что вам нужно
ssh -At -o 'ProxyCommand ssh -At -l bob 192.16.4.9' node-17
Затем тот же метод работает с scp, например
scp -o 'ProxyCommand ssh -At -l bob 192.16.4.9' file node-17:file
Чтобы сделать эту конфигурацию подключения постоянной, чтобы вам не приходилось каждый раз вводить ее повторно, поместите в свой ~ / .ssh / config следующее:
Host node-17
ProxyCommand ssh -At -l bob 192.16.4.9
Тогда все, что вам нужно для запуска, это ssh -At node-17
или scp file node-17:file
.