Я постоянно подключаюсь к нескольким машинам из разных физических мест (и, следовательно, к разным физическим машинам). Большая часть этого выполняется через ssh, иногда требуется один или два шлюза (которые я вызываю через ProxyCommand
в ~/.ssh/config
). Я хотел бы знать, есть ли метод для определения IP или имени хоста машины, которая вызывает начальное соединение (т.е. машины, на которой я работаю) на удаленном конце?
- Я не хочу отправлять переменные окружения, так как на некоторых машинах у меня нет прав root для установки
PermitUserEnvironment
. - Переменная среды
$SSH_CLIENT
полезна для прямых соединений, но содержит только самый последний шлюз.
Моя текущая идея для решения состоит в том, чтобы взять $SSH_CLIENT
, ssh к нему, найти значение $SSH_CLIENT
этой машины и повторять до тех пор, пока оно не существует; затем захватите имя хоста и вытяните его как-нибудь.
Похоже на хакерскую работу; у кого-нибудь есть лучший метод?
В основном я работаю в оболочке bash, но я также рад любым предложениям, которые тоже не используются.