Как зайти по SSH на сервер через другой сервер?
Предположим, что IP-адрес вашей машины, с которой вам нужно зайти на сервер1 по SSH заблокирован на файрволе данного сервера. Однако, есть ещё один сервер2, на который вы можете зайти по SSH, а уже с него зайти на сервер1. Вы бы так и сделали, но всё осложняется тем, что доступ осуществляется по ключу только с вашей машины, без ввода пароля и вы просто не знаете пароль. В этом случае, даже если вы находитесь на сервере1 вы не сможете зайти на сервер2 обычным образом, ведь у вас потребует пароль! Но существует способ как можно решить данную проблему.
- Выполните на своей машине команду:
ssh -L *:9999:xxx.xxx.xxx.xxx:22 -l root server2
где 9999 - это порт, через который будет осуществляться перенаправление работы SSH (необходимо, чтобы данный порт не был занят другими программами и не должен быть закрыт на вашей машине на файрволе), а xxx.xxx.xxx.xxx это IP-адрес сервера1, по которому сервер1 должен быть доступен с сервер2. server2 - это соответственно имя или IP-адрес сервера2. После ввода этой команды у вас запросит пароль на server2 (или просто произойдёт вход на server2, если у вас настоен доступ по ключу). - Теперь для доступа к сервер1 введите команду:
ssh -l user 127.0.0.1 -p 9999
Где user - это имя пользователя, с которым вы должны зайти на сервер1. При выполнении этой команды, сперва произойдёт перенаправление запроса на локальную машину на порт 9999, а затем оттуда запрос пройдёт на сервер2 и уже выполнится с сервер2. В итоге вы получите доступ к сервер1 с вашей локальной машины транзитом через сервер2.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 1503 просмотра