Tôi kết nối với một số máy liên tục, từ các vị trí vật lý khác nhau (và do đó là các máy vật lý khác nhau). Hầu hết trong số này được thực hiện mặc dù ssh, đôi khi một máy gateway hoặc hai là cần thiết (mà tôi invoke qua ProxyCommand
trong ~/.ssh/config
). Tôi muốn biết liệu có một phương pháp để xác định IP hoặc tên máy chủ của máy gọi kết nối ban đầu (tức là máy tôi đang làm việc) ở đầu xa không?
- Tôi không muốn gửi các biến môi trường vì một số máy tôi không có root để đặt
PermitUserEnvironment
. - Biến
$SSH_CLIENT
môi trường hữu ích cho các kết nối trực tiếp, nhưng chỉ liệt kê các cổng gần đây nhất.
Ý tưởng hiện tại của tôi cho một giải pháp là lấy $SSH_CLIENT
, ssh cho nó, tìm $SSH_CLIENT
giá trị của máy đó và lặp lại cho đến khi nó không tồn tại; sau đó lấy tên máy chủ và kéo nó trở lại bằng cách nào đó.
Có vẻ như một chút của một công việc hack mặc dù; Có ai có một phương pháp tốt hơn?
Tôi đang làm việc trong một bash shell, nhưng tôi cũng rất vui vì bất kỳ đề xuất nào không sử dụng nó.