Linux(centos)安装sftp

1、首先用ssh -v  查询主机是否安装了openssh,如果查看不到版本号,则表示需要安装openssh,具体命令如下:

yum install -y openssl openssh-server

yum install openssh*

systemctl enable sshd

systemctl start sshd

service sshd start

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

 再执行版本号查看命令:ssh  -V (大写)

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

版本必须大于4.8p1,低于的这个版本需要升级。出现上面的结果表示openssh安装成功

2.创建sftp组,创建一个sftp用户,用户名为mysftp,密码为*******

[root@ linuxidc.com ~]# groupadd sftp
[root@ linuxidc.com ~]# useradd -g sftp -s /bin/false mysftp
[root@ linuxidc.com ~]# passwd mysftp
Changing password for user mysftp.
New password: 
BAD PASSWORD: it is based on a dictionary word
Retype new password: 
passwd: all authentication tokens updated successfully.

3.sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分

     这里先新建一个mysftp目录,然后指定mysftp的home为/var/ftp/pub/  usermod 命令修改系统帐户文件来反映通过命令行指定的变化
     -d|--home    ##修改用户的家目录通常和-m选项一起使用

[root@ linuxidc.com ~]# mkdir -p /var/ftp/pub/
[root@ linuxidc.com ~]# usermod -d /var/ftp/pub/ mysftp

4.编辑/etc/ssh/sshd_config

[root@ linuxidc.com ~]# vim /etc/ssh/sshd_config
# Subsystem sftp /usr/libexec/openssh/sftp-server   #这一行注释掉
Subsystem sftp internal-sftp       #加上下面六个个配置属性
Match Group sftp    
ChrootDirectory /var/ftp/pub/%u    
ForceCommand internal-sftp    
AllowTcpForwarding no    
X11Forwarding no 

5.更改文件夹拥有者及文件夹权限

[root@ linuxidc.com ~]chown root:sftp /var/ftp/pub/  
[root@ linuxidc.com ~]chmod 755 /var/ftp/pub/

6.建立sftp用户登录后可写入的目录

[root@ linuxidc.com ~]mkdir /var/ftp/pub/topologydiagram 
[root@ linuxidc.com ~]chown mysftp:sftp /var/ftp/pub/topologydiagram  
[root@ linuxidc.com ~]chmod 755 /var/ftp/pub/topologydiagram


7.将文件/etc/selinux/config中的SELINUX=enforcing修改为SELINUX=disabled,然后保存
输入service sshd restart重启服务

8.用mysftp用户名登录,显示 sftp> 则表示搭建成功

[root@ linuxidc.com ~]sftp [email protected]

9.使用FileZilla FTP Client连接sftp服务器

猜你喜欢

转载自blog.csdn.net/weberhuangxingbo/article/details/93137820