Invoke-Command -SSHTransport :有条件地使用 SOCKS 代理

问题描述

我必须使用 Invoke-Command -SSHTransport (PowerShell 6.0+) 从代理后面访问外部系统。我可以使用 nc 作为 ProxyCommand 来做到这一点。我还需要根据需要访问本地/内部系统。

如果不是 Invoke-Command 参数,我是否可以通过 SSH 配置/设置有条件地使用代理? Invoke-Command 目前在 Linux 和 Windows 系统上使用。

例如,对于 Linux 系统上的纯 ssh 解决方案,我可以使用以下内容

p=''
if (external_system) {
    p="-o ProxyCommand='nc -x <proxy-path> %h %p'"
}
ssh $p <target-ip>

有没有办法有条件地配置代理设置?

我尝试探索以下方法

  1. SOCKS_PROXY + NO_PROXY:这样我就可以使用 NO_PROXY 变​​量过滤内部系统
  2. SSH 配置文件(这是我当前使用 nc 放置 ProxyCommand 的位置,因此它是“全局”应用的)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)