Тип установочного образа не имеет значения для Debian, как только вы подключите их к Интернету, вы сможете установить все. Что касается этого, если у вас уже есть ipxe, вы можете установить Debian, используя только образ 64k rom, сетевой образ и сетевой кабель. вы также можете использовать полный набор компакт-дисков (, DVD-дисков или дисков Blu-Ray )для установки минимальной системы. Насколько минимально? Разве что вы делаете пресейдинг пакетов с приоритетом выше стандартного и их требований и рекомендаций так мало, как вы идете, если ничего не выбираете в выборе задачи. Если вы хотите меньше этого, вам нужно использовать файл preseed, который вы можете использовать для переопределения выбора пакетов, внесения отдельных пакетов в черный список и игнорирования рекомендаций.
Теперь, если вы хотите уменьшить размер своей установки, вы можете либо сделать это снова (За последние пару дней я делал это примерно пять раз, но сейчас я разрабатываю udeb ), либо просто запускаю aptitude
и удалите то, что вам не нужно (Я рекомендую aptitude, это потрясающе ).
В предыдущих ответах упоминалось, как использовать директиву ProxyJump (, добавленную в OpenSSH 7.3 ), для подключения через промежуточный сервер (, обычно называемый хостом-бастионом ), но упоминайте его только как команду линейный аргумент.
Если это не машина, которую вы не будете подключать в будущем, лучше всего настроить ее на ~/.ssh/config
.
Я бы поставил файл типа:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
Если вы используете более раннюю версию OpenSSH, которая не поддерживает ProxyJump, вы должны заменить ее эквивалентной:
ProxyCommand ssh -W %h:%p bastion-machine
и если ваша локальная версия ssh была очень старой и не поддерживала-W
:
ssh bastion-machine nc %h %p
хотя для последнего требуется, чтобы на машине-бастионе была установлена nc
.
Прелесть ssh в том, что вы можете настроить каждое место назначения в файле, и они будут очень хорошо складываться. Таким образом, вы в конечном итоге работаете с office-machine
в качестве имени хоста для всех инструментов (ssh, scp, sftp... ), поскольку они были прямыми подключениями, и они выяснят, как подключиться на основе ssh _. ] конфиг. У вас также могут быть подстановочные знаки, такие как Host *.internal.company.local
, чтобы все хосты, заканчивающиеся таким образом, проходили через определенный бастион, и это будет применяться ко всем из них. После правильной настройки единственная разница между соединением с одним переходом или двадцатью будет заключаться в более медленном времени соединения.
Если у вас установлена последняя версия OpenSSH (8.0)локально , вы можете использовать переключатель-J
(перехода ):
scp -J user@intermediate user@target:/path
В более старых версиях (, но не ниже 7.3 ), вы можете использоватьProxyJump
директиву либо в командной -строке:
scp -o ProxyJump=user@intermediate user@target:/path
или в файле ssh_config
, как показывает ответ @Ángel.
Существуют и другие параметры, такие как ProxyCommand
или переадресация портов, которые вы можете использовать даже в более старых версиях OpenSSH. Они описаны в Поддерживает ли OpenSSH вход в систему с несколькими переходами?
Используйте конфигурацию ProxyJump
:
ProxyJump
Specifies one or more jump proxies as either [user@]host[:port] or an ssh URI. Multiple proxies may be separated by comma characters and will be visited sequentially. Setting this option will cause ssh(1) to connect to the target host by first making a ssh(1) connection to the specified ProxyJump host and then establishing a TCP forwarding to the ultimate target from there.
scp -o ProxyJump=user@intermediate user@target:/path
Иногда мы можем просто использовать конвейер. Это время сегодня.
ssh -A user@host1 ssh user@host2 cat filename > filename
Вы тоже можете загрузить
ssh -A user@host1 ssh user@host2 cat \\\> filename < filename
Да, есть и другие решения, связанные с проксированием и т. д., но полезно знать, как это сделать.
scp -3 user1@remote1:/root/file1.txt user2@remote2:/root/file1.txt
Существует древний протокол под названием ZMODEM:немногие программы в наши дни поддерживают его, но когда он работает, он может быть довольно удобным.
Сначала проверьте, поддерживает ли терминальная программа вашего ноутбука ZMODEM. (Например, вы можете настроить iTerm2 (на Mac )для поддержки ZMODEM. Пример скрипта доступен здесь .)
На своем офисном компьютере запустите:sudo apt install lrzsz
Теперь все, что вам нужно сделать, это подключиться по ssh к вашему офисному компьютеру и запустить sz (filename)
. Файл будет загружен через ваш терминал.
Конфигурация под ssh пользователя:~/.ssh/config
Host *
UserKnownHostsFile=/dev/null
StrictHostKeyChecking=no
ServerAliveInterval 300
ServerAliveCountMax 2
ForwardAgent yes
Host jump server
HostName server.company.org
User root
Host jump1 server1
HostName server1.dmz.company.org
User root
ProxyJump jump
Host jump2 server2
HostName server.dmz2.company.org
User root
ProxyJump jump1
Host *.intranet.company.org
User user
ProxyJump jump2
Теперь вы можете копировать с сервера интрасети напрямую через 3 сервер перехода.
scp user@server.intranet.company:/home/user/./*
Я предпочитаю это, потому что больше не нужно указывать серверы перехода с помощью scp
Вот что мне помогло:
scp -o 'ProxyJump user@intermediate' user@target:/fiepath.
.
в конце указывает, что целевой путь загрузки — текущая папка.