回答:
VPN(仮想プライベートネットワーク)は、マシン上の新しいネットワークレベルの接続を作成します。通常、これはプライバシー/暗号化の理由で行われます。そのマシン上のすべてのネットワークトラフィックは、raw / plainネットワーク接続の代わりにVPNを使用するようになります。
SSH(Secure Shell)は、単に別のマシンのターミナル/コマンドラインにリモート接続する方法です。したがって、ネットワーク接続にVPNを使用している場合、それだけではリモートマシンに接続できません。SSHは、他のマシンに接続するために使用されるプロトコル/方法です。
それで、私はあなたの質問をもう少し理解していると思います:VPNはプライバシー/セキュリティを意味するので、VPNを使用するときにSSHを明示的に使用する必要があるのはなぜですか。VPN接続を100%信頼しているのであれば、単純に安全でないTelnetやプレーンFTPを使用することもできますよね?
まあ、SSHとVPNを組み合わせて使用すると、より深いレベルのセキュリティが保証されます。つまり、VPNが危険にさらされたとしても、攻撃者/プローバーはSSH接続に侵入して価値のあるものを取得する必要があります。
別の側面は、すべてのVPNが深いプライバシー/セキュリティのために構築されているわけではないということです。一部のVPNは、他のユーザーもアクセスしている他のネットワークへの単純なプライベートルートです。そして、その場合、VPNは、VPNピア接続が他のVPNピア接続へのアクセスを多少等しくするLAN(ローカルエリアネットワーク)と変わりません。
すべては、目的、プライバシー、信頼性に帰着します。100%肯定的な場合、VPNを信頼し、データ漏えいのリスクを感じない場合、SSHが提供する追加のセキュリティレイヤーを必要とせずに、VPNで何でもやります。しかし、一般的には、反応的に後悔するよりも予防的に安全である方が良いです。安全なVPN内でもSSHを使用するのが方法です。言うまでもなく、SSHは現在非常に一般的であるため、使用しない理由はほとんどありません。一体、人々はTelnetの非SSH時代を忘れがちです。
VPNは通常、システムに仮想ネットワークアダプターを作成することで機能します。この仮想ネットワークアダプターへのトラフィックは、VPNソフトウェアによってインターセプトされます。VPNソフトウェアは、それを暗号化またはその他の方法で処理し、VPNサーバーエンドポイントに送信されます。アプリケーションにとって、VPNは標準のネットワークアダプターと変わりません。
SSH転送は、127.0.0.1のポートでリッスンしているSSHクライアントであり、シェルと同じ暗号化方法を使用して、そのローカルポートに入ってくるデータをサーバーのポートに転送します。リモートサーバーのポートでリッスンするものがない場合、何も起こりません。
少なくともいくつかの重要な違いは次のとおりです。
SSHは単一のポートのみを転送できます(複数のポートを転送できますが、すべて指定する必要があります)。つまり、それぞれが一意のポートで実行されているリモートホスト上の複数のサービスに安全にアクセスする場合は、各サービスの転送を設定および維持する必要があります。
通常のSSHクライアントは、接続する複数のサーバーの指定をサポートしていないため、最初に機能するサーバーを試します。たとえば、このタイプのものはOpenVPNに組み込まれています。
SSHは、UDP自体のトンネリングをサポートしていません。
VPNはオペレーティングシステムにとってネットワークアダプターのように見えるため、VPNアダプターを含むルートを指定できます。したがって、OSは、VPNアダプターを介してサブネット宛てのトラフィックを送信できます。これにより、フィルタリングまたはプライバシーのために、すべてのインターネットトラフィックがVPNを通過するようになります。SSHはこれを簡単に行うことはできません。
レイヤー2 VPNはブロードキャストトラフィックを処理できるため、DHCP、マルチキャスト、ICMP、Windows SMB関連のトラフィックなどを通過させることができます。