如何在交互式 SSH 会话开始时注入命令?
我希望能够通过 ssh 连接到无法修改配置文件的服务器,并在获得通常的交互式会话之前使用多个命令设置环境。
有什么想法吗?
我一直在使用最后带有“交互”命令的期望脚本 - 它适用于大多数事情,但很笨拙并且会破坏一些控制台应用程序。还用empty-expect和socat进行了extermienting。还有其他建议吗?
I want to be able to just ssh to a server where I cannot modify profiles and set up the environment with several commands before getting the usual interactive session.
Any ideas?
I've been using an expect script with an "interact" command at the end - which works for most things but is clumsy and breaks some console apps. Also been extermienting with empty-expect and socat. Any other suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您能够在文件系统上的某个位置写入,则可以使用自定义 rc 文件调用 bash,如下所示:
请注意,这似乎仅适用于交互式 shell,不适用于登录 shell。即使您指定了命令,ssh 的
-t
选项也会使其分配 pty。如果您无法在任何地方写入文件系统,您可以使用子 shell 提供命名管道作为 rcfile:
If you're able to write somewhere on the filesystem, you may be able to invoke bash with a custom rc file like this:
Note that this appears to only work for interactive shell, not login shells. The
-t
option to ssh makes it allocate a pty even though you're specifying a command.If you can't write to the filesystem anywhere, you could use a subshell to supply a named pipe as the rcfile: