通过 ssh 连接时,我可以在远程运行命令(代码 .),然后将其转换为客户端上的命令(代码 --remote ssh@/path/to/dir)吗?

通过 ssh 连接时,我可以在远程运行命令(代码 .),然后将其转换为客户端上的命令(代码 --remote ssh@/path/to/dir)吗?

我希望能够code .在通过 ssh 连接到远程服务器时运行并将其转换到code --remote ssh-remote+client-name /path/to/directory客户端上。

这本质上只需要向服务器提供信息,指示需要“远程进入”的目录的路径。

SSH 允许这样的回聊吗?

我可以看到我可以访问该$SSH_CLIENT变量。我可以在客户端上运行 ssh 命令,但随后我需要在客户端上运行一个具有正确转发端口的公开 ssh 服务器。

答案1

首先,您清楚地了解您的code命令必须是别名、函数或某些脚本。

也就是说,你应该能够使用反向端口转发来允许remote进入ssh你的客户端没有将客户端打开到“互联网”,或通过防火墙/路由器/其他任何设备转发任何端口。类似这样的:

user@client $ ssh -R 22122:localhost:22 user2@remote
user2@remote $ ssh user@localhost:22122 'whoami;hostname'
  user
  client

remote从到 的密码或 ssh-key 访问client,以及脚本的其余部分code,都留给你,但如果你使用密钥和ssh-agent,您还应该能够使用该-A选项将代理访问从客户端转发到远程。

用户警告:由于您实际上允许某人从远程连接到您的客户端,如果是共享远程,则可能会有问题。

相关内容