
我想透過 SSH 連接到一些端點,以便Powershell Remoting
我可以執行自動化腳本。
我如何集中訪問?
- 端點將連接
SSH
到中央伺服器 - 端點將保持此
SSH
連線打開 - 我需要透過 SSH 建立對終止於伺服器的端點的通用存取。透過通用訪問,我的意思是同一網路上的設備理想情況下能夠將這些開放
SSH
連接用於任何SSH
目的。
我對第3步有點困惑。
- 我是否只能
SSH
透過在中央伺服器上執行 、 等Powershell
來執行遠端操作PuTTY
並進行連線?Remote Desktop
- 我是否能夠透過該
SSH
伺服器將 SSH 連接「引入」通用網絡,以便同一網路上的設備可以透過中央伺服器透過 SSH 連接到系統? - 是否有更好的方法讓多個端點透過 SSH 連接到中央伺服器以運行同一網路上的設備中的
Powershell
、 運行Remote Desktop
或其他項目?SSH
設備可以是Windows
或Linux
我正在猜測:
- 來自多個遠端網路的每個端點都透過 SSH 連接到 Lan X 上的 SSH 伺服器
- Lan X 上的設備需要透過 SSH 連接到 Lan X 上的 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
每個客戶端需要連接到單獨的端口
若要允許其他用戶端使用這些會話(例如 Client1 -> Server <- Client2),只需從客戶端到伺服器的 SSH,然後像上面一樣連接到隧道
清單哪些客戶端連接在哪些連接埠上,您可以在伺服器(linux)上運行它:
% sudo lsof -i -n | egrep '\<sshd\>'