linux redhat sftp,RHEL / CentOS 7 安装 SFTP

SFTP 是透过 SSH 连线作传送档案, 跟传统的 FTP 不同, SFTP 传送的内容都经过加密, 而且现在大多在 FTP 软件都支援 SFTP.

如果系统已经开启 SSH 服务器, SFTP 已经内建好, 不需要额外安装, 但跟 FTP 不同, 在默认的情况下, SSH 服务器可以允许传送档案及使用指令模式。但有些情况是只想给帐号开放上传/下载档案, 但不开启 SSH, 以下是在 RHEL 及 CentOS 7 的设定方法。

如果使用者帐号不存在, 先要建立新的使用者帐号, 以下帐号会设定成只可以用 SFTP, 但不能用 SSH, 以下建立 newuser 帐号:

/linux/adduser

$ sudo adduser newuser

给新帐号设定密码:

/linux/passwd

$ sudo passwd newuser

建立一个新目录, 用作给使用者上传/下载档案:

/linux/mkdir

$ sudo mkdir -p /var/sftp/uploads

给新建立的目录设定权限, /var/sftp 的 owner 是 root, /var/sftp/uploads 的 owner 是新帐号:

/linux/chown-chmod

$ sudo chown root:root /var/sftp

$ sudo chmod 755 /var/sftp

$ sudo chown newuser:newuser /var/sftp/uploads

接着开启 SSH 的设定档:

/etc/ssh/sshd_config

$ sudo vi /etc/ssh/sshd_config

在 /etc/ssh/sshd_config 加入以下内容:

Match User newuser

ForceCommand internal-sftp

PasswordAuthentication yes

ChrootDirectory /var/sftp

PermitTunnel no

AllowAgentForwarding no

AllowTcpForwarding no

X11Forwarding no

储存后以上内容后离开文字编辑器。

最后重新启动 SSH 服务器设定才会生效:

/linux/restart-sshd

$ sudo systemctl restart sshd

现在新帐号只可以用 SFTP 传送档案, 但想登入 SSH 服务器时, 便会出现以下错误:

This service allows sftp connections only.

Connection to localhost closed.

你可能感兴趣的内容:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值