Ciągle łączę się z wieloma maszynami, z różnych fizycznych lokalizacji (a więc z różnych fizycznych maszyn). Większość tego jest wykonywana przez ssh, czasem wymagana jest maszyna bramkowa lub dwie (które wywołuję przez ProxyCommandin ~/.ssh/config). Chciałbym wiedzieć, czy istnieje metoda identyfikacji adresu IP lub nazwy hosta komputera, który wywołuje połączenie początkowe (tj. Komputer, na którym pracuję) na zdalnym końcu?
- Nie chcę wysyłać zmiennych środowiskowych, ponieważ na niektórych komputerach nie mam ustawionego katalogu głównego
PermitUserEnvironment. $SSH_CLIENTZmienna jest przydatna dla połączeń bezpośrednich, ale tylko wymienia najnowszą bramę.
Mój obecny pomysł na rozwiązanie polega na przechwytywaniu $SSH_CLIENT, ssh do niego, znajdowaniu wartości tej maszyny $SSH_CLIENTi powtarzaniu, dopóki ona nie istnieje; następnie chwyć nazwę hosta i cofnij jakoś.
Wydaje się jednak, że to trochę włamanie; czy ktoś ma lepszą metodę?
Pracuję głównie w powłoce bash, ale cieszę się również z sugestii, które również jej nie używają.