В чем разница между подключением к удаленной системе через SSH и подключением к удаленной сети через VPN?
Например, если я могу подключиться к удаленной машине в другой сети через SSH, зачем нужен VPN?
VPN (виртуальная частная сеть) создает новое сетевое соединение на вашем компьютере. Обычно это делается из соображений конфиденциальности / шифрования. Весь сетевой трафик на этом компьютере теперь будет использовать VPN вместо обычного сетевого соединения.
SSH (Secure Shell) - это просто способ удаленного подключения к терминалу / командной строке на другом компьютере. Так что, если вы используете VPN для сетевого подключения, это само по себе не подключит вас к удаленной машине; SSH - это протокол / метод, используемый для подключения вас к другому компьютеру.
С учетом сказанного, я думаю, что понимаю ваш вопрос немного больше: зачем нужно явно использовать SSH при использовании VPN, поскольку VPN подразумевает конфиденциальность / безопасность. Я имею в виду, если вы на 100% доверяете своему VPN-соединению, вы можете просто использовать незащищенный Telnet или даже обычный FTP, верно?
Дело в том, что использование SSH и VPN в сочетании обеспечивает более высокий уровень безопасности. Это означает, что даже если VPN будет скомпрометирован, злоумышленнику / злоумышленнику все равно потребуется проникнуть через SSH-соединение, чтобы получить что-то ценное.
Другим аспектом является то, что не все VPN созданы для обеспечения глубокой конфиденциальности / безопасности. Некоторые VPN - это просто частные маршруты к другим сетям, к которым также обращаются другие пользователи. И в этом случае VPN будет ничем не отличаться от локальной сети (Local Area Network), где одноранговые соединения VPN будут иметь равный доступ к другим одноранговым соединениям VPN.
Все сводится к цели, конфиденциальности и надежности. Если вы на 100% уверены, что доверяете своей VPN и не чувствуете, что она представляет опасность для утечки данных, делайте с ней все, что хотите, без необходимости дополнительного уровня безопасности, обеспечиваемого SSH. Но в целом лучше быть проактивно безопасным, чем извиняющимся. Использование SSH даже в пределах защищенной VPN - путь. Не говоря уже о том, что в настоящее время SSH настолько распространен, что нет особых причин не использовать его. Черт возьми, люди, как правило, забывают о днях Telnet, не относящихся к SSH.
VPN обычно работают путем создания виртуального сетевого адаптера в вашей системе. Трафик, идущий к этому виртуальному сетевому адаптеру, перехватывается программным обеспечением VPN, которое шифрует и обрабатывает его иным образом, а затем отправляется на конечную точку VPN-сервера, где он может быть далее переадресован, например внутренним корпоративным маршрутизатором. Для приложения VPN ничем не отличается от стандартного сетевого адаптера.
Пересылка SSH - это ваш SSH-клиент, прослушивающий порт 127.0.0.1, затем пересылающий данные, поступающие на этот локальный порт, на порт сервера, используя тот же метод шифрования, что и ваша оболочка. Если на порту удаленного сервера ничего не прослушивается, ничего не происходит.
Вот по крайней мере некоторые существенные различия:
SSH может пересылать только один порт (ну, он может пересылать несколько портов, но вы должны указать их все). Это означает, что если вы хотите получить безопасный доступ к нескольким службам на удаленном хосте, каждый из которых работает на своем уникальном порту, вы должны настроить и поддерживать переадресацию для каждой службы.
Ваши типичные клиенты SSH не поддерживают указание нескольких серверов для подключения, пробуя первый, который работает. Этот тип вещей встроен в OpenVPN, например.
SSH не поддерживает туннелирование UDP само по себе.
Поскольку виртуальные частные сети выглядят как сетевой адаптер для операционной системы, можно указать маршруты с использованием адаптера VPN. Таким образом, ОС может отправлять любой трафик в подсеть через адаптер VPN. Это может сделать такие вещи, как заставить весь ваш интернет-трафик проходить через VPN, для фильтрации или конфиденциальности. SSH не может сделать это легко.
VPN уровня 2 могут работать с широковещательным трафиком, позволяя таким вещам, как DHCP, многоадресная передача, ICMP и трафик, связанный с Windows SMB, проходить через них.