魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

PandoraBox一键安装sftp服务,解决ssh能够连接而sftp不能连接的问题



我的路由器PandoraBox系统是精简版

使用xshell终端登录后,偶尔项使用sftp传输文件进PandoraBox路由器系统里,使用sftp工具访问时出现

subsystem request for sftp failed, subsystem not found.

这个错误,查找了很多网上的资料,总结就一句话:sftp-server的目录没有找到。检查了一下系统的软件包管理好像还真没安装sftp。

那就把sftp安装上。

老规矩,先更新一下软件源列表

opkg update

再检索一下sftp软件包

opkg list | grep 'sftp'

出现以下列表:

[root@PandoraBox_FAB0:/root]#opkg list | grep 'sftp'
luci-app-vsftpd - git-18.365.46990-4b6a3d5-1 - PandoraBox vsftpd luci configuration module
luci-i18n-vsftpd-zh-cn - git-18.365.46990-4b6a3d5-1 - Translation for luci-app-vsftpd - 简体中文 (Simplified Chinese)
openssh-sftp-avahi-service - 7.3p1-3 - This package contains the service definition for announcing SFTP support via mDNS/DNS-SD.
openssh-sftp-client - 7.3p1-3 - OpenSSH SFTP client.
openssh-sftp-server - 7.3p1-3 - OpenSSH SFTP server.
rssh - 2.3.3-1 - rssh is a restricted shell for use with OpenSSH, allowing only scp and/or sftp. It now also includes support for rdist, rsync, and cvs. For example, if you have a server which you only want to allow users to copy files off of via scp, without providing shell access, you can use rssh to do that.
sshfs - 2.2-1 - Mount remote system over sftp.
vsftpd - 3.0.3-5 - A fast and secure FTP server (no TLS)
[root@PandoraBox_FAB0:/root]#opkg install vsftpd
Package vsftpd (3.0.3-5) installed in root is up to date.


ok!

开始安装,这次我一键安装sftp服务一次性把相关包都安装上。

opkg install openssh-sftp-avahi-service openssh-sftp-client openssh-sftp-server luci-app-vsftpd luci-i18n-vsftpd-zh-cn
[root@PandoraBox_FAB0:/root]#opkg install openssh-sftp-avahi-service openssh-sftp-client openssh-sftp-server luci-app-vsftpd luci-i18n-vsftpd-zh-cn
Installing openssh-sftp-avahi-service (7.3p1-3) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/openssh-sftp-avahi-service_7.3p1-3_mipsel_24kec_dsp.ipk
Installing openssh-sftp-server (7.3p1-3) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/openssh-sftp-server_7.3p1-3_mipsel_24kec_dsp.ipk
Installing libexpat (2.2.0-1) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/libexpat_2.2.0-1_mipsel_24kec_dsp.ipk
Installing libdbus (1.8.8-1) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/libdbus_1.8.8-1_mipsel_24kec_dsp.ipk
Installing dbus (1.8.8-1) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/dbus_1.8.8-1_mipsel_24kec_dsp.ipk
Installing libavahi-dbus-support (0.6.31-12) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/libavahi-dbus-support_0.6.31-12_mipsel_24kec_dsp.ipk
Installing libdaemon (0.14-4) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/libdaemon_0.14-4_mipsel_24kec_dsp.ipk
Installing avahi-dbus-daemon (0.6.31-12) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/avahi-dbus-daemon_0.6.31-12_mipsel_24kec_dsp.ipk
Installing openssh-sftp-client (7.3p1-3) to root...
Downloading http://downloads.pangubox.com:6380/pandorabox/19.01/packages/mipsel_24kec_dsp/packages/openssh-sftp-client_7.3p1-3_mipsel_24kec_dsp.ipk
Package openssh-sftp-server (7.3p1-3) installed in root is up to date.
Package luci-app-vsftpd (git-18.365.46990-4b6a3d5-1) installed in root is up to date.
Package luci-i18n-vsftpd-zh-cn (git-18.365.46990-4b6a3d5-1) installed in root is up to date.
Configuring openssh-sftp-server.
Configuring libexpat.
Configuring libdbus.
Configuring dbus.
Unknown group "netdev" in message bus configuration file
Configuring libavahi-dbus-support.
Configuring libdaemon.
Configuring avahi-dbus-daemon.
Configuring openssh-sftp-client.
Configuring openssh-sftp-avahi-service.
[root@PandoraBox_FAB0:/root]#

安装完成,回到sftp工具上重新连接PandoraBox路由器的sftp,这次没有出错,进入文件系统了。



扩展知识:

注意:在Ubuntu系统中,sftp并非独立软件包,而是作为OpenSSH服务的内置功能存在。要启用SFTP服务,需通过安装和配置openssh-server实现。

以下是具体步骤:

安装OpenSSH服务

执行以下命令安装核心组件:

sudo apt-get update
sudo apt-get install openssh-server

安装完成后,SFTP功能将自动集成到SSH服务中


以下可选:

1.创建专用用户组与目录(可选)

创建SFTP用户组:

sudo addgroup sftp-users

2.建立隔离目录并设置权限:

sudo mkdir /home/sftp_root
sudo chown root:root /home/sftp_root
sudo chmod 755 /home/sftp_root

    此目录将作为SFTP用户的根目录,限制其访问系统其他文件

配置SSH服务:

编辑配置文件/etc/ssh/sshd_config,添加以下内容:

Subsystem sftp internal-sftp
Match Group sftp-users
    ChrootDirectory /home/sftp_root
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

该配置会强制sftp-users组用户仅能使用SFTP,且限制在其专属目录内活动

创建测试用户

1.添加用户并禁用shell访问:

sudo adduser alice
sudo usermod -G sftp-users -s /bin/false alice

2.为用户创建子目录并授权:

sudo mkdir /home/sftp_root/alice_uploads
sudo chown alice:sftp-users /home/sftp_root/alice_uploads

重启服务生效

sudo systemctl restart sshd

验证连接可使用命令sftp alice@localhost



返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.4


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1