CentOS 7--SFTP服务配置

环境:VMware 15 Pro

待补充:

1. 将文本整理入代码或替换成图片

2. 补充实现默认目录可上传的功能:在ForceCommand参数配置

一、参考链接

https://blog.csdn.net/axing2015/article/details/83755143 --操作成功

https://blog.csdn.net/tingjie/article/details/80887463 --报错如下,应该是目录权限设置问题,待研究。

https://www.cnblogs.com/gz9218/p/85d25b3aeaea9b1f8455a889abedfdf2.html --报错:同上

修改SSH服务端口:

https://www.cnblogs.com/heqiuyong/p/11072829.html

 

二、操作步骤

环境:

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@localhost ~]# ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

1、创建用户组和用户

[root@localhost ~]# groupadd sftp  --创建用户组

[root@localhost ~]# useradd -g sftp -s /sbin/nologin sftp1 --创建用户

[root@localhost ~]# passwd sftp1

Changing password for user sftp1.

New password:

[root@localhost ~]# mkdir -p /data/sftp/sftp1

[root@localhost ~]# usermod -d /data/sftp/sftp1 sftp1 --指定用户默认目录

 

2、修改ssh服务配置

[root@localhost ~]# vi /etc/ssh/sshd_config

(1)端口增加22345(中间位置)

# If you want to change the port on a SELinux system, you have to tell

# SELinux about this change.

# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

#

#

Port 22 --保留22端口用于远程控制

Port 22345

 

(2)用户组匹配配置(尾部)

override default of no subsystems

#Subsystem     sftp  /usr/libexec/openssh/sftp-server   --这里注释掉

 

# Example of overriding settings on a per-user basis

#Match User anoncvs

#       X11Forwarding no

#       AllowTcpForwarding no

#       PermitTTY no

#       ForceCommand cvs server

Subsystem sftp internal-sftp  --从这里开始增加

Match Group sftp  --这里匹配用户组

ChrootDirectory /data/sftp/%u  --这里限定了访问目录

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

 

3、设置目录权限

[root@localhost ~]# chown root:sftp /data/sftp/sftp1  --设置root为目录所有者

[root@localhost ~]# chmod 755 /data/sftp/sftp1  --不能超过755,sftp1可读可执行、不可写(也可设置为644)

[root@localhost ~]# mkdir /data/sftp/sftp1/upload  

[root@localhost ~]# chown sftp1:sftp /data/sftp/sftp1/upload 设置sftp1为目录所有者

[root@localhost ~]# chmod 755 /data/sftp/sftp1/upload -- sftp1可读可写可执行

[root@localhost ~]# getenforce  –检查setenforce是关闭状态,如何关闭可百度

Disabled

[root@localhost ~]# systemctl restart sshd.service 重启sshd服务

 

4、检测sftp1用户登录

[root@localhost ~]# sftp [email protected]

[email protected]'s password:

Connected to 127.0.0.1.

sftp> exit  --成功!

备注:在windows上也可以用winscp验证链接

 

5、设置SSH端口为22345

[root@localhost ~]# netstat –nlptu

[root@localhost ~]# firewall-cmd --permanent --add-port=22345/tcp  --防火墙放行

success

[root@localhost ~]# systemctl restart firewalld  --重启防火墙

再用新端口验证一次链接。

你可能感兴趣的:(其他)