
У меня есть локальный сервер, который разрешает только соединения внутри внутренней сети. У меня есть еще один сервер внутри внутренней сети, который может подключаться к внешней сети. Я хочу использовать второй сервер как туннель для первого, чтобы я мог получать внешние соединения с первым.
Я могу ssh
нормально подключиться ко второму серверу. Однако, когда я запускаю:
sudo sshuttle -r myuser@myserver 0/0 -vv
и затем введите мой локальный пароль, а затем мой удаленный пароль, он просто зависает на неопределенный срок, и никакие соединения на сервере не могут выйти. Опять же, я могу сделать это ssh myuser@myserver
просто отлично.
Есть предложения по отладке? У меня CentOS 7.
решение1
Для sshuttle
работы вам потребуются права суперпользователя как на клиенте, так и на сервере (для создания tun
устройств на обоих концах). Это невозможно для обычных ( myuser
) пользователей.
Это должно работать с root
пользователем, если ему разрешено входить в систему. Обычно не стоит разрешать вход в систему с правами root, поэтому ограничение этого пользователя аутентификацией с открытым ключом ( PasswordAuthentication no
) или запрет на запуск команд ( ForceCommand /usr/sbin/nologin
) также является хорошей идеей, но обеспечение безопасности сервера, очевидно, не является частью этого вопроса.