好的,设置有点复杂.不要怪我,我不是系统管理员.
这是情况.我可以从网络外部连接一台机器.我只能使用我的私钥以root身份远程(是的,你听到了).我知道以用户身份登录然后提升权限更为典型,但在这种情况下,我必须做相反的事情.
问题是我想使用SSHFS来远程挂载文件系统.我有这个完美的工作.但是,我不希望我捣乱的每个文件都反映root权限.我想先降级(su到用户帐户).
任何人都知道如何用SSHFS做到这一点?
解决方法:
您可以创建一个脚本来拦截对远程计算机上sftp子系统的调用.将以下脚本放在远程服务器上的某处,假设/ root / bin / sftp_intercept:
#!/bin/sh
exec sudo -u less_privileged_user /usr/lib/openssh/sftp-server
然后像这样打电话:
sshfs root@remote:dir mountpoint -o sftp_server=/root/bin/sftp_intercept
那应该会产生预期的结果.
你需要一个适当的sudoers条目来使sudo工作而不提示输入密码,并且不要忘记“chmod 755~ / bin / sftp_intercept”.
另外,确保/usr/lib / openssh / sftp-server确实是sftp-server的路径.如果没有,那么也许它是/usr/lib / sftp-server.