gpt4 book ai didi

ssh - 如何在交互式 SSH session 开始时注入(inject)命令?

转载 作者:行者123 更新时间:2023-12-02 13:53:05 25 4
gpt4 key购买 nike

我希望能够仅通过 ssh 连接到一台服务器,在该服务器上我无法修改配置文件并在获得通常的交互式 session 之前使用多个命令设置环境。

有什么想法吗?

我一直在使用一个 expect 脚本,最后有一个“交互”命令——它适用于大多数事情,但很笨拙并且会破坏一些控制台应用程序。也一直在使用 empty-expect 和 socat 进行处理。还有其他建议吗?

最佳答案

如果您能够在文件系统上的某个地方写入,您可以像这样使用自定义 rc 文件调用 bash:

ssh me@example.com -t bash --rcfile /home/user/my_private_profile -i

请注意,这似乎只适用于交互式 shell,不适用于登录 shell。 ssh 的 -t 选项使其分配一个 pty,即使您正在指定一个命令也是如此。

如果您无法在任何地方写入文件系统,您可以使用子 shell 提供命名管道作为 rcfile:

$ ssh ares -t "bash --rcfile <(echo 'FOO=foo';echo 'BAR=bar') -i"
axa@ares:~$ echo $FOO
foo
axa@ares:~$ echo $BAR
bar

关于ssh - 如何在交互式 SSH session 开始时注入(inject)命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7660900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com