1.打开命令终端窗口,按以下步骤操作。使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。
[root@ecs-3c46 ~]# ssh -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
2.创建sftp组,创建一个sftp用户,用户名为mysftp,密码为*******
[root@ecs-3c46 ~]# groupadd sftp
[root@ecs-3c46 ~]# useradd -g sftp -s /bin/false mysftp
[root@ecs-3c46 ~]# 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为/data/sftp/mysftp
usermod 命令修改系统帐户文件来反映通过命令行指定的变化
-d|--home ##修改用户的家目录通常和-m选项一起使用
[root@ecs-3c46 ~]# mkdir -p /data/sftp/mysftp
[root@ecs-3c46 ~]# usermod -d /data/sftp/mysftp mysftp
4.编辑/etc/ssh/sshd_config
[root@ecs-3c46 ~]# vim /etc/ssh/ssh_d_config
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5.更改文件夹拥有者及文件夹权限
[root@ecs-3c46 ~]chown root:sftp /data/sftp/mysftp
[root@ecs-3c46 ~]chmod 755 /data/sftp/mysftp
6.建立sftp用户登录后可写入的目录
[root@ecs-3c46 ~]mkdir /data/sftp/mysftp/upload
[root@ecs-3c46 ~]chown mysftp:sftp /data/sftp/mysftp/upload
[root@ecs-3c46 ~]chmod 755 /data/sftp/mysftp/upload
7.将文件/etc/selinux/config中的SELINUX=enforcing修改为SELINUX=disabled,然后保存
输入service sshd restart重启服务
8.用mysftp用户名登录,显示 sftp> 则表示搭建成功
[root@ecs-3c46 ~]sftp mysftp@127.0.0.1
9.使用FileZilla FTP Client连接sftp服务器