![通过 WinSCP 直通账户登录](https://linux22.com/image/1409272/%E9%80%9A%E8%BF%87%20WinSCP%20%E7%9B%B4%E9%80%9A%E8%B4%A6%E6%88%B7%E7%99%BB%E5%BD%95.png)
我有一台 Linux 服务器,当我通过油灰,我首先需要使用非 root 帐户(假设user1
)登录,然后发出命令su root
或su - root
登录该root
帐户。我无法直接登录该root
帐户,因为出于安全原因,这种直接访问被阻止。
我想知道如何实现这样的设置温SCP,Unix/Linux 服务器的 GUI 文件管理器。我尝试过隧道连接到同一个 IP 地址,但不起作用,因为我认为这会尝试“直接”登录到root
帐户通过隧道连接使用帐户建立user1
。将 Shell 设置为sudo su -
也不起作用。
如何得到温SCP模拟su root
或su - root
间接登录,因为它可以在油灰?
答案1
sudo su
首先,通过添加如下行,允许自己从将要登录的非 root 用户转换为 root 用户:
username ALL=NOPASSWD: ALL
或者(为了更好的安全性):
username ALL=NOPASSWD: /bin/sftp-server
到/etc/sudoers
文件。
然后使用 WinSCP 并将会话文件协议设置为 SCP,在设置中,选择环境 | SCP/Shell,然后选择 shell 为sudo su -
。
我知道您已经说过您尝试过了sudo su -
,但只有将这行添加到文件后,它才会起作用sudoers
。我在我的服务器上确认了这一点,该服务器没有通过 SSH 进行 root 登录,并且它运行良好。
然后我能够使用 GUI 从 root 复制文件0600
(由 root 拥有),并且能够写入 root 目录。另外,如果我从 WinSCP 打开终端窗口并执行id
,它会显示为root
。
这仅适用于 SCP 文件协议。我无法让它在 WinSCP 中与 SFTP 一起使用。
答案2
也许不是您想要的,但您可以在 .bash_profile 文件中添加要运行的命令(例如:sudo su -),以便在您登录后立即执行它。
请注意,一直自动提升自己到根位置有点违背了让你思考它会阻止你意外做一些危险事情的意图——纯粹主义者会表示不悦。