![在任何 shell 的远程登录上运行命令](https://linux22.com/image/122958/%E5%9C%A8%E4%BB%BB%E4%BD%95%20shell%20%E7%9A%84%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%BD%95%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4.png)
认为:
- 您有权
ssh
访问服务器 - 你不知道你有哪个 shell(魔鬼会在你下次登录时改变它)
foo
您希望每次登录时都运行该命令(即使是非交互方式)- 您希望每次登录时都
bar
设置环境变量(即使是非交互方式)quux
特别是你可以不是认为:
- 操作系统
/bin/sh
除了可用的外壳之外
http://mywiki.wooledge.org/DotFiles(远程非登录非交互式 shell)和是否可以将“ssh <host> <command>”配置为始终加载服务器端启动文件?很好地涵盖了 Bash 的这一点,但似乎忽略了魔鬼可能会将您的登录 shell 更改为 Bash 以外的其他内容。
ksh、bash、ash、dash、csh、tcsh、zsh 的类似技术有哪些? (/bin/sh
从登录 shell 生成被认为是魔鬼的作弊,因此不是一个可接受的答案)。
答案1
你可以尝试这样的事情:
sshd_配置:
Match User ed
ForceCommand "bash -c ";export THING=a;/bin/bash -i""
这是次优的,我确信它可以打高尔夫球,但我将把它作为练习留给读者。