デザイン:複数のネットワークセキュリティゾーン。一部はLinuxサーバーのみを含み、一部はWindowsのみを含みます。
目的:scp
Win10 OpenSSHをプロキシとして使用して、2つのLinuxサーバー間のセキュアな複製()
linux1 (zone A) > Win10-1 (zone B) > linux2 (zone C)
[更新:一部の進行状況]認証はSSHキーに基づいています。 ssh-keygenを実行し、linux1
.pubファイルをコピーしてWin10-1
内容をコピーすると、期待C:\Users\[username]\.ssh\authorized_keys
どおりに機能します。 SSH経由でパスワードなしでlinux1
接続できますWin10-1
。同じ手順しなければならないssh-keygen
ランタイムが機能しますWin10-1
。キーペアがあり、ここにpubファイルをコピーしましたが、使用linux2
ログインが失敗し、Powershellプロンプトがハングします。しかし、これはうまくいきます。Win10-1
linux2
ssh user@linux2
Start ssh user@linux2
予想される接続をテストするために、次のことを行いました。
#linux1: ssh -J username@proxy-win10 username@target-linux2
それは私を通過しましたが、私のログインパスワードを求めるメッセージが表示された後にのみ可能でしたlinux2
。
最後の障害物が必要なようですStart ssh user@linux2
。 OpenSSHサーバーインスタンスが破損している可能性はありますか?
答え1
これは実際にはほとんどのセキュリティ問題です。
ポイント1
SSHエージェントが有用な唯一の方法は、次のようにターゲットホストがパブリックネットワークの背後にあるときです。
+--- Office Computer 1
Internet <--- Router-NAT-Firewall <--+--- Office Computer 2
+--- Linux Server (no port forwarding)
+=== Windows Server (with SSH port forwarding)
それ以外の場合、Windowsサーバーはセキュリティシアターの俳優にすぎません。
ポイント2
SSHはアプリケーションにとって便利なトランスポートプロトコルであるため、ユーザーは公開鍵暗号化を使用して自分で認証できるようにしてセキュリティを最大化する必要があります。
"sshd_config"から:
SSHでログインできるユーザーを選択するには、「AllowUsers」ディレクティブを使用します。
選択したユーザーに「Match」ディレクティブを使用し、パスワードでログインすることを制限するには、「AuthenticationMethods」ディレクティブを使用します。