4

Если я нахожусь в терминале и ssh подключаюсь к новому хосту, затем к ssh к другому хосту, затем к другому и т.д., Есть ли способ определить эту цепочку хостов, кроме рекурсивного выхода и наблюдения, где я в конечном итоге?

2 ответа2

3

Существуют переменные с именами SSH_CLIENT и SSH_CONNECTION, которые показывают в вашей текущей оболочке, откуда вы ssh'd и с какого IP-адреса вы пришли, но это только для последнего соединения. Существуют команды, которые вы можете отправлять каждому клиентскому соединению ssh (например, <RET><RET>~C чтобы открыть командную строку), но это ограничивается несколькими вещами. Возможно, наиболее интересным для вас будет ~# , который показывает информацию о соединении, но не показывает хосты.

Если вы можете отслеживать, сколько раз вы нажимали ~ после <RET><RET> , вы можете фоновое соединение N в своей цепочке, начиная с конца, и, в свою очередь, каждый раз выводить $ SSH_CONNECTION, чтобы увидеть, куда оно идет. Когда вы вернетесь к своему хосту, вам нужно снова выдвинуть их на первый план с помощью fg .

Я думаю, что мой вопрос к вам будет, почему вы должны знать, и вам нужно знать часто?

1

Запустите netstat -t -n|grep 22 (замените 22 номером порта вашего ssh-сервера, если вы его изменили), по крайней мере, вы знаете IP-адрес хоста, с которого вы пришли. Или попробуйте who

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .