自分が所有するサーバー経由で SSH リモート転送を使用し、会社のコンピューター (「ターゲット」サーバー) に接続したいのですが、そのためには、ターゲットで次のようなコマンドを実行します。
ssh -R '*:10000:localhost:22' forwarding-server
問題は、ターゲットが常に最新の状態に保たれているわけではなく、これを制御できないことです。SSH サーバーをインターネットから直接アクセスできるようにしたくありません。
理想的には、認証を要求したい転送サーバーへターゲット サーバーへの転送を許可する前に、SSH キーを使用して接続を確立する必要があります。テスト マシンでこれをセットアップすると、代わりに接続がすぐにターゲット サーバーに転送されました。
認証を要求する方法はありますか前に接続は転送されますか?
答え1
接続を転送する前に認証を要求する方法はありますか?
SSHは実際には常にこのように動作します。転送サーバーの管理者が故意に行って無効何らかの理由で認証できません。
オプションを追加してコマンドを実行します-v -v
。次のいずれかが表示されます。
- SSH 公開鍵を使用して自動的に認証されます。
- GSSAPI (Kerberos) を使用して自動的に認証されます。
- 多重化された接続 (ControlMaster/ControlPath) を再利用しています。つまり、すでに認証されているセッションに新しいトンネルを追加するだけです。
- リモート アカウントのパスワードが空であり、サーバーがこれを許可するように構成されているため、すべての認証メカニズムがスキップされます。