AFAIK безопасная загрузка - это функция UEFI, разработанная Microsoft и некоторыми другими компаниями, входящими в консорциум UEFI.
UEFI частично зависит от аппаратного обеспечения, т.е. конфигурация материнской платы может/не может мешать. Если вы используете полный UEFI, то есть шанс, что вы сможете включить безопасную загрузку из меню UEFI.
Однако если ваша прошивка - это UEFI с CSM/BIOS, то вы можете столкнуться с определенными препятствиями, например, опция включения безопасной загрузки будет серой и т.д.
Альтернативой решению , предложенному Руи Ф. Рибейро , является установка ProxyCommand
в файле конфигурации SSH (обычно ~ / .ssh / config
):
host <remote>
ProxyCommand ssh <gateway_user>@<gateway> nc <host> 22
User <host_user>
Затем вы можете просто использовать:
scp /local/path/to/file <remote>:/remote/path/to/file
scp <remote>:/remote/path/to/file /local/path/to/file
После настройки конфигурации SSH вы можете легко копировать файлы, как если бы у вас было прямое соединение на удаленный сервер.
Допущение: На хосте A scp / tmp / xxx HostB: / tmp / xxx и на HostB scp / tmp / xxx HostC: / tmp / xxx
В тех случаях, когда обычно вы использовали туннель ssh / scp для копирования с HostA на HostC. Предположим, ваша сеть также отключила туннели (также предполагая, что вы также спрашивали об этом как о «прямом соединении»)
Вы можете написать сценарий примерно так - для выполнения с HostB
#!/usr/bin/bash -e
# assumes you have PKI setup so you only have to enter your pass-phrase at most once
file=$1
scp Hosta:$file $file
scp $file HostC:$file
rm $file
После размышлений: с HostB
scp HostA:$file HostC:$file
Вы должны создать туннель от хоста 1 (1) к хосту (3), войдя в хост 2 (2) с помощью SSH, так как только (1) имеет доступ to (2), как в:
host1$ ssh -L 9999:host3:22 user@host2
Это создаст туннель к host3, порт SSH (22) в localhost, порт 9999 / TCP
Затем в других окнах вы scp с хоста 1 с пользователем, присутствующим на хосте 3 как в:
host1$ scp -P 9999 file_to_copy user@localhost:/user/file_to_copy
В этом отношении передача файла выполняется напрямую с хоста 1 на хост3, а хост2 существует только для пересылки соединения через туннель SSH. Когда вы выходите из системы по первому ssh, туннель закрывается.