我通过 访问一个 Linux 服务器sshfs
。遗憾的是,出于安全考虑,无法建立纯 ssh 连接。
如果我通过 sshfs 访问此服务器,我执行的任何命令都会通过本地服务器运行。不知道该如何描述。
例如,如果远程服务器上有一个包含 10,000 个文件的 tar 文件,如果我解压此文件,则需要很长时间,因为它(在后台)本质上是将每个文件提取到我的本地服务器,然后将其复制到远程服务器。而如果我亲自在远程服务器上,解压速度会非常快,因为所有工作都在本地完成。我想这是sshfs
工作原理的固有特点。
我想要弄清楚的是一种以直接在远程服务器上运行或让远程服务器运行命令的方式执行命令的方法。
我能想到的一件事是在远程服务器上创建一个 cron 作业,这样它就会(在本地)运行我给它的任何命令。但这非常不方便。另一种选择是运行 PHP Shell 类型的程序(因为远程服务器是 Web 服务器)。通过 PHP Shell 给出的任何命令都将在本地运行。
是否有可用于强制输入命令直接在远程服务器上运行的 bash 命令?我试过,nohup
但不确定是否有用...
答案1
唯一的方法是在远程服务器上交互式访问某些描述,所以答案是否定的。
答案2
很久以前,我曾与一些 ISP 的服务器合作过,我可以通过 ftp/sshfs 等访问服务器,但无法通过交互式 shell 访问服务器。他们有一个解决方法,就是允许您通过 Web 界面设置 cron/at 作业,或者您可以编辑的 crontab 文件的副本,这将调用脚本/命令。如果绝对不能授予交互式 shell,请询问管理员是否可行。