Назад | Перейти на главную страницу

Версия SCP - ssh -A -t -l root 192.16.4.9 ssh -A -t node-17

Я на 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.