Я хочу использовать удаленную переадресацию SSH через свой сервер для подключения к корпоративному компьютеру («целевому» серверу), запустив на целевом сервере что-то вроде этого:
ssh -R '*:10000:localhost:22' forwarding-server
Проблема в том, что цель не всегда обновляется, и я не могу это контролировать. Я не хочу делать ее SSH-сервер доступным напрямую из Интернета.
В идеале я хотел бы потребовать аутентификациюна сервер пересылки, с ключом SSH, прежде чем он разрешит пересылку на целевой сервер. Когда я настроил это на тестовой машине, соединение было немедленно перенаправлено на целевой сервер.
Есть ли способ потребовать аутентификацию?досоединение переадресовано?
решение1
Есть ли способ потребовать аутентификацию перед переадресацией соединения?
На самом деле SSH всегда работает именно так, если только администратор сервера пересылки намеренно не пошел и ненеполноценныйаутентификация по какой-то причине.
Запустите команду с -v -v
добавленными опциями. Вы увидите одну из этих возможностей:
- вы автоматически аутентифицируетесь с использованием вашего открытого ключа SSH;
- вы автоматически проходите аутентификацию с помощью GSSAPI (Kerberos);
- вы повторно используете мультиплексное соединение (ControlMaster/ControlPath), т.е. просто добавляете новый туннель к уже аутентифицированному сеансу;
- все механизмы аутентификации пропускаются, поскольку удаленная учетная запись имеет пустой пароль, а сервер был настроен соответствующим образом.