Raj*_*pta 9 server ssh sudo nautilus remote-access
我需要/var/logs
通过 ssh 使用“连接到服务器”从 nautilus访问远程服务器上的文件夹和许多此类文件夹。我避免root登录并禁用它。我想sudo
改用,就像我在终端中使用 SSH 会话一样。如何sudo
在远程服务器上使用 nautilus来获得访问权限?(在服务器上禁用 root 登录)
如果不是鹦鹉螺本身,是否有任何替代品可以帮助实现这一目标?
显然,以您的本地 root 帐户(使用 sudo、gksu 等)运行 Nautilus 不会为您提供服务器上的 root 访问权限。
问题是 OpenSSH 中的 SFTP 服务器(Nautilus 连接到的服务器)不支持类似的命令sudo
——它不是 shell 环境。通过标准机制,您所要求的简单是不可能的。
但是,您并非没有选择。我不确定您对 SSH 有多熟悉,但是您可以通过连接将端口隧道回传,以便您可以正常连接,以 root 身份运行一个简单的 FTP 服务器,并通过 SSH 将所有这些都隧道返回到您的计算机。听起来很可怕,但其实很简单。
在服务器上,运行:
# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib
# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib
Run Code Online (Sandbox Code Playgroud)
然后在您的计算机上运行一个简短的 SSH 命令:
# If you installed with pip
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib -i localhost -w -p 2121 -r 21212-21212 -d /"
# If you installed with apt-get (and pyftpdlib is pre-1.3, true in 13.10)
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib.ftpserver -i localhost -w -p 2121 -r 21212-21212 -d /"
Run Code Online (Sandbox Code Playgroud)
然后在 Nautilus(在您的计算机上)中,连接到ftp://localhost:2121
. SSH 的神奇之处在于将其转发到以 root 身份运行的 FTP 服务器。
还有其他协议(我花了一段时间寻找更好的协议)但 FTP 是最容易启动和运行的,这在很大程度上要归功于pyftpdlib
. 你可以用 webdav 等人做类似的事情,我敢肯定......它只会更多地黑客攻击。
归档时间: |
|
查看次数: |
3810 次 |
最近记录: |