Я могу подключиться к серверам с помощью Jumphost. Я пытаюсь написать сценарий оболочки для входа на несколько серверов, проверки дискового пространства и отправки электронного письма, если пространство превышает 90%. Моя проблема в том, что в хосте перехода я не могу создать сценарий с ограниченным доступом. Я пытаюсь создать сценарий оболочки на одном из серверов. Я нашел скрипт, который проверяет место, моя проблема в том, что он запускается, и когда он пытается войти на первый сервер, происходит сбой входа, так как я уже вошел в систему на одном сервере. То, что я пытаюсь сделать, это запустить скрипт при входе на один сервер, скрипт должен работать в фоновом режиме и проверять все серверы.
1 ответ
вы можете настроить прокси-сервер ssh с помощью ProxyCommand
в ~/.ssh/config
на хосте, с которого вы инициируете соединение.
Затем вы просто предоставляете то, что вы хотите сделать на конечном хосте, даже не заботясь ни о чем на Jumphost
Вы устанавливаете это так в конфигурации SSH
Host 10.0.4.*
ProxyCommand ssh -q jumphost_user@jumphost.server nc -q0 %h %p
Затем, когда вы подключаетесь к любому хосту 10.0.4. *, Вы без проблем проходите через Jumphost.
Как вы можете видеть, это работает, настроив прокси netcat
на конечный хост
а также
ssh 10.0.4.10 '/usr/path/to/check_command'
на начальном хосте выдаст вывод check_disk с конечного хоста, как показано на схеме ниже
| начальный хост | --- ssh finalhost ---> | Jumphost | --- прокси netcat ---> | финальный хост |
Подробнее об этом вы можете прочитать здесь
https://www.cyberciti.biz/faq/linux-unix-ssh-proxycommand-passing-through-one-host-gateway-server/