You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webmin通过SSH备份至使用Rush受限Shell的远程服务器失败求助

Webmin通过SSH备份至使用Rush受限Shell的远程服务器失败求助

各位技术大佬好,我最近在折腾Webmin配置备份到远程服务器的事儿,碰上个棘手问题,折腾好久没头绪,来求助大家!

我想通过Webmin把配置文件安全备份到一台用Rush受限Shell的远程服务器,本人是Webmin和Rush新手,目前遇到了权限/配置类问题,不确定是Webmin、Rush还是sshd哪块出了问题。

环境与配置说明

  • 备份存储服务器:10.20.0.130(Ubuntu 20.04),有一个ftpsecure用户,默认shell为/usr/sbin/rush
  • 该服务器的/etc/rush.rc配置如下:
acct on

limits t10r20

umask 002

env - USER LOGNAME HOME PATH

fall-through

rule pwd

command ^pwd

set[0] /bin/pwd

rule scp-to

command ^scp (-v )?(-r )?-t( --)? /srv/vmceml_backups/?

set[0] /usr/bin/scp

chroot /srv/rush

chdir /srv/vmceml_backups

手动测试正常,但Webmin备份失败

在我的Webmin服务器(10.20.0.129,Webmin 2.013 on Ubuntu 18.04)上,手动执行以下命令可以成功完成文件传输,全程不需要输入密码,证明密钥对配置是正常的:

sudo -u ftpsecure scp -v testfile ftpsecure@10.20.0.130:/srv/vmceml_backups/testfile

但在Webmin里配置备份后却失败:

  • Webmin配置:在「Backup Configuration Files」→「Scheduled Backups」中设置的备份项:
    • 备份目标:SSH服务器 10.20.0.130;服务器上的文件路径:/srv/vmceml_backups/webmin-vmceml-backups-%Y%m%d.tgz;登录用户:ftpsecure;端口默认;备份内容包含Webmin模块配置文件、服务器配置文件。
  • 点击「Save and Backup Now」后报错:

Starting backup of 45 modules to /srv/vmceml_backups/webmin-vmceml-backups-20230307.tgz on 10.20.0.130 via SSH ..
scp failed : ftpsecure@10.20.0.130: Permission denied (publickey).

SSHD配置与日志情况

备份存储服务器的/etc/ssh/sshd_config配置如下:

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
LogLevel DEBUG
PermitRootLogin prohibit-password
StrictModes yes
AuthorizedKeysFile .ssh/authorized_keys
HostbasedAuthentication no
IgnoreRhosts yes
PasswordAuthentication no
PermitEmptyPasswords no
PubkeyAuthentication yes
TCPKeepAlive yes

Match User ftpsecure
PasswordAuthentication no
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Match all
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp  /usr/lib/openssh/sftp-server

备注:我尝试过移除Match User ftpsecure段,或者去掉其中的ForceCommand,结果都一样,问题依旧。PAM配置没改过默认的。

日志相关的奇怪现象:

  • 手动执行scp时,Rush会正常记录scp-to规则的日志,但Webmin发起备份时,Rush完全没有日志(连默认规则的日志都没有)。
  • SSHD的日志片段:

KEX done [preauth]
userauth-request for user ftpsecure service ssh-connection method none [preauth]
attempt 0 failures 0 [preauth]
user ftpsecure matched 'User ftpsecure' at line 70
PAM: initializing for "ftpsecure"
PAM: setting PAM_RHOST to "10.20.0.129"
PAM: setting PAM_TTY to "ssh"
Connection closed by authenticating user ftpsecure 10.20.0.129 port 51584 [preauth]
do_cleanup [preauth]

我的疑惑

我不知道Webmin备份时具体执行的是哪条scp命令,没法确认我的手动测试是否和它的执行逻辑一致。

有没有大佬能帮忙分析下问题出在哪,或者给点排查方向?非常感谢!

备注:内容来源于stack exchange,提问作者Norman Henderson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 09:45:32