有没有什么办法可以让 sshd 运行可执行文件而无需先启动 shell?
问题是我不小心将 libtermcap 移到了一台服务器上(该服务器运行的是 CentOS 5)。我无法通过 ssh 连接到该机器,因为 bash 需要 libtermcap。我无法远程运行命令,因为 sshd 使用 shell 来解析命令。有没有办法解决这个问题,还是我必须让服务器人员启动到恢复模式并将其移回?
答案1
我不知道 CentOS,但是很多类 Unix 系统在 /bin/sh 处都有一个静态链接的 shell,所以您可以尝试使用ssh username@hostname /bin/sh command-to-move-backlibtermcap
命令执行 /bin/sh 处的可执行文件,而不是尝试加载登录 shell(正如您所指出的,当登录 shell 依赖于 libtermcap 时,这将失败)。