Назад | Перейти на главную страницу

Как подключиться к одному SSH-серверу через другой

у меня есть 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; неудобно настраивать, но значительно экономит время.