
Powershell Remoting
自動化用のスクリプトを実行できるように、SSH 経由で接続したいエンドポイントがいくつかあります。
アクセスを集中化するにはどうすればよいですか?
SSH
エンドポイントは中央サーバーに接続します- エンドポイントはこの
SSH
接続を開いたままにします SSH
サーバーで終了するエンドポイントへの SSH 経由のユニバーサル アクセスを作成する必要があります。ユニバーサル アクセスとは、理想的には、同じネットワーク上のデバイスがこれらのオープン接続をどのような目的でも利用できることを意味しますSSH
。
ステップ3について少し混乱しています。
- 中央サーバーで 、 などを実行
SSH
してPowershell
、リモートアクションを実行して接続することしかできないのでしょうか?PuTTY
Remote Desktop
SSH
このサーバー経由で SSH 接続を一般ネットワークに「持ち込む」ことで、同じネットワーク上のデバイスが中央サーバー経由で SSH 経由でシステムに接続できるようになるでしょうか?- 同じネットワーク上のデバイスから
Powershell
、 、Remote Desktop
またはその他のアイテムを実行するために、複数のエンドポイントを SSH 経由で中央サーバーに接続するためのより良い方法はありますか?SSH
デバイスは、Windows
またはLinux
私の推測では:
- 複数のリモートネットワークの各エンドポイントはSSH経由でLan XのSSHサーバーに接続します。
- Lan X上のデバイスは、Lan X上のSSHサーバーにSSHで接続する必要がある。
- SSHサーバーにSSH接続すると、Lan X上のデバイスは
Powershell
エンドポイントでスクリプトやその他のSSHアイテムを実行できるようになります。
答え1
最初のシナリオでは、
- クライアント --SSH-> サーバー
- クライアントはこの接続を使用してサーバーからのSSHセッションを待機します
- サーバー --SSH-> クライアント、コマンドの実行など
これはSSH リバース トンネル設定も非常に簡単です:
# On client, create an open tunnel from Client:22 -> Server:2222
ssh -R 2222:localhost:22 user@Server
# On server, connect to local 2222, and you're connected to that session
ssh -p 2222 user@localhost
各クライアントは別々のポートに接続する必要がある
他のクライアントがそれらのセッションを使用できるようにするには(クライアント1 -> サーバー <- クライアント2など)、クライアントからサーバーにSSHで接続し、上記のようにトンネルに接続するだけです。
リストへどのクライアントがどのポートに接続されているかを確認するには、サーバー (Linux) でこれを実行できます。
% sudo lsof -i -n | egrep '\<sshd\>'