у меня есть A
и B
SSH-серверы, к которым я мог подключиться B
отовсюду, кроме A
Я могу подключиться с B
только. Для этого я обычно подключаюсь к B
а затем введите ssh username@A
.
Как я мог подключиться к A
через B
не набирая два раза команды ssh? И сохраните возможность подключиться к A
и чтобы B
в то же время по моему желанию.
Вы можете сделать это с помощью NAT. Вы делаете DNAT в цепочке PREROUTING на B. Вы можете перенаправить порт 23 на B на порт 22 на A.
Очевидно, что для этого требуется, чтобы пересылка была включена вообще (в ядре) и чтобы эта конкретная пересылка была разрешена (в брандмауэре).
Обычное решение этой проблемы - сделать
ssh A -L 2222:B:22
за которым следует (со своего рабочего стола, не из)
ssh -p 2222 localhost
Это правда, что для этого вам потребуется выполнить два входа в систему, но только для первого доступа к B. После этого вы повторно используете существующий туннель для входа в B столько раз, сколько захотите, просто повторяя вторую команду.
Кроме того, если вам надоело вводить пароль снова и снова, я рекомендую вам изучить ssh-agent
; неудобно настраивать, но значительно экономит время.