我想只能ssh到一个服务器,我不能修改配置文件,并在获得常规交互式会话之前用几个命令设置环境。如何在交互式SSH会话开始时插入命令?
任何想法?
我一直在最后使用期望脚本和“交互”命令 - 它适用于大多数情况,但笨拙并打破了一些控制台应用程序。也一直期望空虚的期望和socat。还有其他建议吗?
我想只能ssh到一个服务器,我不能修改配置文件,并在获得常规交互式会话之前用几个命令设置环境。如何在交互式SSH会话开始时插入命令?
任何想法?
我一直在最后使用期望脚本和“交互”命令 - 它适用于大多数情况,但笨拙并打破了一些控制台应用程序。也一直期望空虚的期望和socat。还有其他建议吗?
如果你能写的地方在文件系统中,你可以调用的bash与自定义RC文件是这样的:
ssh [email protected] -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"
[email protected]:~$ echo $FOO
foo
[email protected]:~$ echo $BAR
bar
干杯,但它不帮助我害怕。我已经使用-t和-tt - 而且我真的不能写入文件系统。这是一个PITA :) –
你甚至不能将文件推送到'/ tmp'中吗? –
即使没有,请参阅我的扩展答案。 –
哎呀,刚才看到你不能编辑配置文件。 –
这或多或少是我想达到的目标:http://stackoverflow.com/questions/1633750/ssh-with-command-plus-the-shell/1634179#1634179但它仍然会破坏一些东西。 –